php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Hilfe! PHP-Funktion


 
deep9
06-12-2005, 17:35 
 
Habe ein Problem mit der Abfrage Funktion SELECT... etc. mein Skript sieht bis anhin so aus:

$sql = mysql_query("SELECT * FROM bslkalender WHERE feld = $name")
or die ("MySQL-Fehler: " . mysql_error());
$row = mysql_num_rows($sql);

if($rows > 0) {
echo "Eintrag bereits vorhanden";
}
else
{
$sqlab = "INSERT INTO bslkalender";
$sqlab .= "(name, vorname, firma, strasse, plz, ort,";
$sqlab .= " email, tel, fax, anz) values ";
$sqlab .= "('$na', '$vn', '$fa', '$str', $plz, '$ort', '$email', $tel, $fax, $anz)";
mysql_query($sqlab);

Dabei kommt aber immer diesen Fehler aus: MySQL-Fehler: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 und in der line 1 ist <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Nun fehlen mir irgendwelche Kommatas oder Anführungszeichen ? Zudem gibt es einen geeigneten Operator um die db abzufragen ob ein Wert schon vorhanden ist ? Oder braucht es dafür gar keinen ?

Danke für eure Hilfe

mfg deep9

 
Kropff
06-12-2005, 17:44 
 
$sql = mysql_query("SELECT * FROM bslkalender WHERE feld = $name")
welchen typ hat feld? int, varchar, text? wenn z.b. kein int sondern varchar, dann fehlen da die anführungszeichen.

gruß
peter

 
Heini81
06-12-2005, 17:45 
 
Die Line 1 bezieht sich auf deinen MySQL-Query. Bei dem läuft irgendwas schief. Mach mal ein Echo vom Query, der ist fehlerhaft.

 
php_jan
06-12-2005, 18:16 
 
Einen Fehler habe ich schon gefunden. Der wird aber nichts mit dem MySQL-Fehler zu tun haben!

$row = mysql_num_rows($sql);

if($row > 0) { // $rows in $row geändert
echo "Eintrag bereits vorhanden";
}

 
deep9
07-12-2005, 10:09 
 
Original geschrieben von Kropff
$sql = mysql_query("SELECT * FROM bslkalender WHERE feld = $name")
welchen typ hat feld? int, varchar, text? wenn z.b. kein int sondern varchar, dann fehlen da die anführungszeichen.

gruß
peter

Habe diese Felder hier mit den betreffenden Typen. Fehlen mir demzufolge Anführungszeichen ? Zudem Welche Felder wären am sinnvollsten zum Abfragen ?

Feld Typ
bestellnr int(11) Nein auto_increment
name varchar(30)
vorname varchar(20)
firma varchar(30)
strasse varchar(30)
plz int(4)
ort varchar(20)
email varchar(30)
tel int(10)
fax int(10)
anz int(2)

Wenn ich $sqlab per echo ausgebe, dann kommt da nix raus. Also es verändert sich vom Fehler her nix. hmm... an was könnte das liegen ?

 
Kropff
07-12-2005, 10:52 
 
wo bitte ist denn dein feld abgeblieben?
WHERE feld =

gruß
peter

 
deep9
07-12-2005, 11:17 
 
Original geschrieben von Kropff
wo bitte ist denn dein feld abgeblieben?


gruß
peter

wie meinste das ? das feld beinhaltet ja die versch. Daten (bestellnr, name, vorname....)

 
Kropff
07-12-2005, 11:20 
 
bevor du jetzt weiter machst, solltest du erst mal die elementarsten grundlagen (http://www.schattenbaum.net/php/mstart.php) lernen.

gruß
peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:50 Uhr.