SELECT id FROM table_name WHERE Spalte = $variable
Ich versuche zum abrufen der id-Nummer eines Datensatzes zu verwenden, da eine variable an anderer Stelle. Ich will nur die id aus einem Datensatz mit einem bestimmten Wert in einer anderen Spalte. hier ist mein code:
$result = mysql_query("SELECT id FROM order WHERE orderNumber = '$orderNumber'") or die (mysql_error());
$id = $result;
Wenn ich testen habe ich bekommen: SQL syntax; check the manual, das entspricht Ihrer MySQL-server-versi0on für den richtigen syntax in der Nähe 'um, WO orderNumber = '5b0ea3'
Irgendwelche Ideen?
Ist, dass die eigentliche Abfrage und Fehlermeldung, die Sie bekommen?
Eine gute Idee wäre, nicht ändern Sie Ihre Felder und Variablen-Namen, wenn die Frage
Die mysql_* Methoden sind veraltet, empfehle ich den Wechsel zu entweder mysqli oder PDO, und
Dies ist der code mit allen Infos in: $Ergebnis = mysql_query("SELECT id FROM Bestellung WHERE orderNumber = '$orderNumber'") or die (mysql_error()); $id = $Ergebnis; Und die Fehlermeldung: SQL-syntax; Lesen Sie im Handbuch, das entspricht Ihrer MySQL-server-version für den richtigen syntax in der Nähe 'um, WO orderNumber = '5b0ea3" tut mir Leid, dass
Ohne zu sehen, Ihre tatsächlichen Spalten-und Tabellennamen, kann ich nur vermuten, dass vielleicht, die Sie verwendet haben, eine MySQL reserviertes Schlüsselwort im Ort
Eine gute Idee wäre, nicht ändern Sie Ihre Felder und Variablen-Namen, wenn die Frage
Die mysql_* Methoden sind veraltet, empfehle ich den Wechsel zu entweder mysqli oder PDO, und
$variable
sollten desinfiziert werden, bevor Sie in einer Abfrage. Was bedeutet die final-Abfrage Aussehen, wenn man das echo, bevor es läuft?Dies ist der code mit allen Infos in: $Ergebnis = mysql_query("SELECT id FROM Bestellung WHERE orderNumber = '$orderNumber'") or die (mysql_error()); $id = $Ergebnis; Und die Fehlermeldung: SQL-syntax; Lesen Sie im Handbuch, das entspricht Ihrer MySQL-server-version für den richtigen syntax in der Nähe 'um, WO orderNumber = '5b0ea3" tut mir Leid, dass
Ohne zu sehen, Ihre tatsächlichen Spalten-und Tabellennamen, kann ich nur vermuten, dass vielleicht, die Sie verwendet haben, eine MySQL reserviertes Schlüsselwort im Ort
table_name
.InformationsquelleAutor Michael | 2013-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
AUFTRAG ist eine reserver Wort in SQL; ich empfehle, Sie ändern den Namen der Spalte auf etwas anderes.
Wenn Sie wirklich nicht kann, dann können Sie die escape-Spalten-und Tabellennamen mit backticks:
Und siehe auch die Kommentare zu stoppen durch
mysqli_
Funktionen - Sie sind unsicher und veraltet.InformationsquelleAutor andrewsi
Seit
ORDER
ist ein reserviertes Wort verwenden, müssen Sie die backticks auf Ihre sql-Abfrage. Und danach verwenden Sie die mysql_fetch_assoc in Reihenfolge zu get die id.Auf der anderen Seite, sollten Sie mit Hilfe
PDO
oderMysqli
, diemysql_*
Funktionen sind veraltet und gelten als schlechte Praxis.Wenn Sie planen, halten Sie mit
mysql_query
, zumindest machen Sie sicher, zu bereinigen, die$orderNumber
variable mit mysql_real_escape_String.InformationsquelleAutor mpratt
wie Sie sehen, müssen Sie include $Verbindung.
mysql
- version dieser Funktion. Das problem war in der Tat das, was war, zeigte die akzeptierte Antwort.InformationsquelleAutor ahmad haboul
Gebaut mit benutzerdefinierten Datenbank-Klasse mit der Abfrage-Funktion, aber die SQL-Abfrage funktioniert
InformationsquelleAutor webdevil