Beim Ausführen einer INSERT-Anweisung mit MySQLi kann ein Fehler auftreten, der darauf hinweist, dass die Anzahl der Bind-Variablen nicht stimmt. Es stimmt nicht mit der Anzahl der Felder in der vorbereiteten Anweisung überein.
Dieser Fehler tritt auf, wenn versucht wird, Ergebnisse an eine Anweisung zu binden, die keine Ergebnisse zurückgibt. Um dieses Problem zu beheben, entfernen Sie $stmt->bind_result($user, $pw); Zeile aus Ihrem Code-Snippet.
Der korrigierte Code sollte so aussehen:
if($stmt = $conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)")) { /* Bind parameters s - string, b - blob, i - int, etc */ $stmt->bind_param("ss", $user, $pw); /* Execute it */ $stmt->execute(); /* Close statement */ $stmt->close(); $userId = $conn->insert_id; }
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meiner vorbereiteten MySQLi-Anweisung die Fehlermeldung „Falsche Anzahl von Bindevariablen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!