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