PHP Mysqli einfügen einer Zeile in eine Tabelle mit auto_increment-Spalte
Im arbeiten auf einer Tabelle mit 4 Spalten und die erste ist ein auto-increment-integer namens id.
Wenn im gehend, um einen insert in diese Tabelle mit mysqli prepared statements halte ich Probleme mit dem einfügen eine Abfrage, die funktioniert. Mithilfe von PHPmyAdmin sagt Er mir es geben, NULL. Ich habe versucht diese:
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES ('NULL', ?, ?, ?)";
$stmt -> bind_param("ssi", $col2, $col3, $col4)
und diese
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES (NULL, ?, ?, ?)";
$stmt -> bind_param("ssi", $col2, $col3, $col4)
und geben nur bind_param 3 Argumente (die letzten 3). Keine dieser arbeiten. Ich habe auch versucht diese:
$null = NULL;
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES (?, ?, ?, ?)";
$stmt -> bind_param("issi", $null, $col2, $col3, $col4);
Keiner dieser arbeiten. Gibt es einen standardisierten Weg einstecken in dieser Art von Tisch?
do u wollen auch zum einfügen von auto-incremtn Feld explizit?
InformationsquelleAutor fdfdsfsdfsdfds | 2010-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach überspringen Sie die
id
Feld, MySQL füllt es automatisch:InformationsquelleAutor Tatu Ulmanen
Wenn die
id
Feld ist dieauto_increment
, dann eben nicht angeben, es in Ihreminsert
- Abfrage :Und, natürlich, versuchen Sie nicht, binden Sie alle parameter 😉
Wie es generiert MySQL, gibt es keine Notwendigkeit zu gehen, dass Spalte.
InformationsquelleAutor Pascal MARTIN
Sollte dies funktionieren, weil die id automatisch Hinzugefügt (erhöht für diesem Grund) von mysql:
In einigen Fällen haben Sie zum einfügen auto_incremtnt Feld explizit, wenn dies der Fall ist, dann können Sie die
INSERT IGNORE
- Anweisung, siehe mysql-Handbuch für weitere Informationen darüber.InformationsquelleAutor Sarfraz
Diese eine
sollte das doch wohl funktionieren. Was ist die genaue Fehlermeldung, die Sie bekommen?
Ich jetzt besser Aussehen, Sie haben $query und $stmt. Was hast du dazwischen? Vermutlich werden Sie fehlen einige Teil.
Sollte es
InformationsquelleAutor Peter Smit