Heim >Datenbank >MySQL-Tutorial >Warum schlägt mein MySQL-Einfügen fehl, obwohl Debug-Prüfpunkte bestanden wurden?
Einfügen von Daten mit mysqli: Fehlerbehebung bei einem fehlgeschlagenen Einfügen
Dieses Programm versucht, Daten mithilfe der mysqli-Erweiterung in eine MySQL-Datenbank einzufügen. Obwohl die Debug-Prüfpunkte erfolgreich durchlaufen wurden, werden die Daten jedoch nicht zur Tabelle hinzugefügt.
Das Problem liegt in der Art und Weise, wie die Variablen an die vorbereitete Anweisung gebunden sind. Im Originalcode werden die Variablen $username und $password zweimal mit bind_param() gebunden. Das ist falsch. Die richtige Syntax besteht darin, die Datentypen gefolgt von den Variablen in einem Aufruf an bind_param() zu übergeben.
Um dies zu beheben, kann der Code wie folgt geändert werden:
$stmt2->bind_param('ss', $username, $password);
Alternativ: Wenn Sie PHP 5.6 oder höher verwenden, kann das Variablenarray mit dem Spread-Operator an bind_param() übergeben werden:
$data = ['username' => 'someUser', 'password' => 'secret']; $stmt2->bind_param('ss', ...$data);
Sobald diese Korrektur erfolgt ist gemacht, sollte die INSERT-Abfrage erfolgreich ausgeführt werden und eine neue Zeile in die Datenbank einfügen.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein MySQL-Einfügen fehl, obwohl Debug-Prüfpunkte bestanden wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!