Auge: Query funktioniert nicht

Beitrag lesen

Hallo

Was in der MySQL-Fehlermeldung steht? Keine Ahnung - wie komme ich an die überhaupt ran?

Echt jetzt? Benutze mysqli_errno für die Fehlernummer und mysqli_error für die Fehlermeldungstext. Irgendeiner deiner Schritte funktioniert nicht. Falls das bei der Kommunikation mit dem SQL-Server passiert, sollte es einen Fehler auslösen, der mit diesen Funktionen ermittelbar ist.

… oder SQL-Code, also Dinge, die in einer SQL-Abfrage Schaden anrichten. Dafür gibt es für Zeichenketten die Funktion mysqli_real_escape_string oder man präpariert seinen Query, wobei die Funktion je nach Datentyp „das Richtige“ macht.

Das würde man dann also mit $query = mysqli_real-escape-string.php($query) absichern?

Nein. Es wird jeder String, der in den Query eingefügt wird, einzeln behandelt. Ganz so, wie es der verlinkte Eintrag in der PHP-Doku zeigt. Die Funktion heißt schließlich mysqli_real_escape_string und nicht mysqli_real_escape_query.

Was ist laut deiner Definition zulässig? „Bayern“ oder „Berlin“ haben schließlich eine gänzlich andere Länge als „Baden-Württemberg“ oder gar „Nordrhein-Westfalen“.

Ich habe einfach die Länge des längsten Ländernamens, also "Mecklenburg-Vorpommern" als zulässige Höchstlänge gewählt!

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett