MySQL SELECT * FROM * WHERE ...= php Variable
mru
- sonstiges
Hallo,
in einer SQL Abfrage muss ich als Bedingung den Wert aus einer PHP Variable nehmen. Ich weiß leider nicht wie man das Syntaxmäßig richtig einstellt.
Schaut jetzt so aus:
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = $id"
Was natürlich nicht passt, vielleicht könnt ihr mir die richtige Syntax nennen.
Hi,
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = $id"
Was natürlich nicht passt, vielleicht könnt ihr mir die richtige Syntax nennen.
wieso ist das natürlich? Im Prinzip ist das die richtige Syntax, sofern dieser String so von PHP verarbeitet wird, wo liegt dein Problem?
MfG
Rouven
Hi,
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = $id"
Was natürlich nicht passt, vielleicht könnt ihr mir die richtige Syntax nennen.
wieso ist das natürlich? Im Prinzip ist das die richtige Syntax, sofern dieser String so von PHP verarbeitet wird, wo liegt dein Problem?MfG
Rouven
Mein Problem ist, dass die Variable $id richtig geschrieben wird, aber die SQL Abfrage ohne Ergebnis bleibt.
D.h. die Bedingung (also die Variable) wird falsch interpretiert, wenn überhaupt.
hi,
Mein Problem ist, dass die Variable $id richtig geschrieben wird, aber die SQL Abfrage ohne Ergebnis bleibt.
Dann lasse dir die generierte Query zur Kontrolle ausgeben, und teste sie bspw. in phpMyAdmin.
Und nutze mysql_error().
D.h. die Bedingung (also die Variable) wird falsch interpretiert, wenn überhaupt.
Ja was denn jetzt, richtig, aber doch falsch?
gruß,
wahsaga
Sorry Jungs,
der Fehler lag an anderer Stelle, nämlich bei der Ausgabe.
Thx.
Moin!
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = $id"
Mein Problem ist, dass die Variable $id richtig geschrieben wird, aber die SQL Abfrage ohne Ergebnis bleibt.
Es ist immer eine gute Idee (man könnte sogar sagen: Nahezu immer zwingend erforderlich), die Inhalte von Variablen im SQL-String in einfache Anführungszeichen zu setzen, damit SQL keine Probleme mit Sonderzeichen und Leerzeichen kriegt.
Unbedingt erforderlich ist aber, dass der Inhalt von $id passend escaped wird. Siehe http://www.php.net/mysql-real-escape-string.
- Sven Rautenberg
Hi,
in einer SQL Abfrage muss ich als Bedingung den Wert aus einer PHP Variable nehmen. Ich weiß leider nicht wie man das Syntaxmäßig richtig einstellt.
ein SQL-Statement ist ein String. Ein Zusammenhang zu PHP existiert nicht - auch dann nicht, wenn Du diesen String mit PHP generierst.
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = $id"
Was natürlich nicht passt,
Das ist absolut nicht natürlich, sondern hängt davon ab, was in $id steht.
vielleicht könnt ihr mir die richtige Syntax nennen.
Die richtige SQL-Syntax erfährst Du in der Dokumentation Deines DBMS. Sie ist frei von jedwedem PHP-Code. Die richtige PHP-Syntax, um diese SQL-Syntax zu erzeugen, erfährst Du in der PHP-Dokumentation. Sie ist unabhängig von jedwedem SQL.
Cheatah
Und so(?):
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = ".$id." "
Und so(?):
"SELECT UserID, UserName, Sex, VName, NName, UserMail, rights, visits FROM users WHERE UserID = ".$id." "
Ja, so haut es auch hin. Aber auch auf meine einfache Weise. Das Problem lag bei der Ausgabe der selectierten Daten. War mein Fehler, viel mir dann bei näherer Betrachtung auf.
Thx.