[PHP] MySQL Befehl macht Probleme

Hallo!

Ich habe ein Problem mit einem Skript was ich zur Zeit schreibe.
Unter der Adresse findet ihr einen Auszug des Quelltextes
http://nopaste.info/b3675e223a.html

Diese Zeile hier macht Schwierigkeiten:

Code:
			mysql_query("INSERT INTO md5_list ( hash , plain , stat ) VALUES ( ". $hash . "," . $zeile . ",0);");

Wodran kann es liegen?

Vielen Dank

Nimda05
 
bist du dir sicher, dass die Tabelle richtig erstellt ist? Bei mir hat mal ein Buchstabe ned gestimmt, und ich hab eine Woche gebraucht um des zu merken


mfg
 
Die Fehlermeldung (ich werd da nicht schlau draus ;-) ) :
Code:
common-passwords.txt
1064: 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 ''0')' at line 2 1054: Unknown column '5c9597f3c8245907ea71a89d9d39d08e' in 'field list'
Das ganze wiederholt sich über ne halbe ewigkeit (wegen der while schleife)

Server Version: 5.0.38-Ubuntu_0ubuntu1-log

Ich hab die Tabelle nochmal neu erstellen lassen aber dadurch wurde es auch nicht besser. Kann es sein das ein Hash keine Mysql-Char ist?
 
Original von Nimda05
Code:
			mysql_query("INSERT INTO md5_list ( hash , plain , stat ) VALUES ( ". $hash . "," . $zeile . ",0);");
In der Tat ein Quoting-Fehler!:
Code:
mysql_query("INSERT INTO md5_list ( hash , plain , stat ) VALUES ('$hash','$zeile',0)");
Und auch das Semikolon kann weg gelassen werden. Die Anweisung wird so wohl funktionieren. Beachte: nutzt du double-quotes (") werden $variablen mit deren Inhalt ersetzt. Nutzt du singleQuotes musst du einen concat benutzen:

Code:
mysql_query("INSERT INTO md5_list ( hash , plain , stat ) VALUES ('$hash','$zeile',0)");
mysql_query('INSERT INTO md5_list ( hash , plain , stat ) VALUES ("'.$hash.'","'.$zeile.'",0)');
mysql_query("INSERT INTO md5_list ( hash , plain , stat ) VALUES ('".$hash."','".$zeile."',0)");
Alle 3 versionen müssten laufen ;)
 
Perfekt!

Vielen Dank!
Habe es grade ausprobiert und es funktioniert!
Vielen Dank dass du mir das auch mal erklärt hast und nicht nur die lösung an den kopf geballert hast :-)
 
Zurück
Oben