Ich schreibe Nachrichten und Einfügen in meine DB, ich habe den Code vor 3 Jahren und es funktionierte gut, aber ich kann nicht mehr einfügen und ich verstehen nicht, warum:PHP Mysql INSERT INTO: kann nicht mehr einfügen
$insert=mysqli_query($co,"INSERT INTO articles VALUES('','".addslashes(htmlentities($_POST['title']))."','".time()."','".nl2br(addslashes(htmlentities($_POST['msg'])))."')") or die("insert error: ".mysqli_error());
, wo die Tabelle Artikel die Struktur erhalten (id: int (11) auto_increment, Titel: Text, Datum: int (11), msg: text)
Als ich versuche es Ich fiel in die "insert error" Nachricht, aber die mysqli_error() Nachricht ist leer, also habe ich einen falschen Eintrag auf phpmyadmin versucht:
INSERT INTO articles VALUES('','testset','1396642210','FUUUUUU')
Und ich bekomme # 1366 - Falscher Integer-Wert: '' für Spalte 'id' in Zeile 1 (aber ID wird automatisch inkrementiert ?? : /)
(Verbindung und db Auswahl sind in Ordnung) Ich verstehe wirklich nicht, was passiert, ich arbeitete mit dieser Anfrage seit 2/3 Jahren und es funktionierte ... Irgendwelche Ideen?
'addslashes (htmlentities ($ _ POST [‘ title '])) '=> vorbereitete Aussage verwenden. Sie werden viel sicherer sein. – Xenos
Entfernen Sie die Anführungszeichen um '1396642210', vorausgesetzt, die Spalte ist ein Integer-Typ. Vielleicht haben Sie MySQL aktualisiert und die Syntaxerzwingung hat sich geändert (es hat sicherlich "GROUP BY"). –
Haben Sie kürzlich Änderungen vorgenommen, die diese Einrichtung beeinträchtigen könnten? MySQL-Version? PHP-Version? Webserver-Version? Webserver? Wenn Sie das Gleiche mehrmals tun, wird das nie zu einem anderen Ergebnis führen, also muss sich etwas geändert haben. – apokryfos