PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL SELECT Syntax Fehler


JasonX
2012-06-15, 14:20:35
Hallo

ich bin gerade dabei mir ein kleines Script zu basteln. Jedoch habe ich
gerade ein Problem mit meinem SELECT FROM in MySQL

Folgender Code:

$db = mysql_connect('localhost','root','');
mysql_select_db('billing', $db) or die(mysql_error());

$query = "SELECT * FROM `user` WHERE `username` = \'admin\' AND `passwd` = \'test\'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
echo $row['username'] . $row['passwd'];


Sieht für mich richtig aus der code.
Jedoch bekomme ich folgenden 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 '\'admin\' AND `passwd` = \'test\'' at line 1

Ich versuche nun es schon seit einer Stunde nachzuvollziehen, aber sogar phpMyAdmin spuckt mir genau diesen IDENTISCHEN php Code aus für MySQL Select und mit dem macht er es auch nicht.

MfG
Jason

universaL
2012-06-15, 14:28:43
spontan geraten: warum escapest du die ' ?

JasonX
2012-06-15, 14:50:04
Hatte ich zuerst nich, das ist nun das Snipplet das mir phpMyAdmin ausgespuckt hatte.

/edit:
Du hast recht, daran lag es.
Das kann echt nicht war sein.
Davor ging es ohne auskommentieren nicht und nun schon. Das war auch er grund warum ich mir dann das Snipplet aus phpMyAdmin genommen habe.
Ich habe gedacht, wenn ich es falsch habe dann nehm ich es mir da raus, der kann ja nur richtig sein.

pff

Danke dir

JasonX
2012-06-16, 12:52:24
Wenn ich in einem Registrierformular das Passwort des Benutzers mittels PHP in MD5 oder SHA1 umwandel und so in die SQL Datenbank speichern.

Kann ich dann einfach im Login fenster das eingegebene Passwort in MD5 umwandeln und die SQL datenbank findet dann den richtigen wert in der Datenbank?

Weil ja der MD5 Wert ja nicht immer gleich ist hab ich gelernt.

MfG

Jason

eViLsTieFel
2012-06-16, 13:01:09
Ja, das funktioniert so. Bei gleichem Ausgangswert kommt auch der gleiche Hash raus.

Schau dir sonst auch zur besseren Sicherheit des hinterlegten Passwörter phpass (http://www.openwall.com/phpass/) an.

sei laut
2012-06-17, 10:52:25
Weil ja der MD5 Wert ja nicht immer gleich ist hab ich gelernt.
Bei reinem md5 doch. Du verwechselst das vielleicht mit Sachen wie md5-crypt und dergleichen, die den MD5-Hash durcheinander würfeln.