Heim > Artikel > Backend-Entwicklung > Warum tritt bei INSERT-Abfragen der Fehler „Anzahl der Bindungsvariablen stimmt nicht mit der Anzahl der Felder in der vorbereiteten Anweisung überein“ auf?
Wenn Sie versuchen, Daten mithilfe der MySQLi-Erweiterung von PHP in eine Datenbank einzufügen, kann dies passieren Es tritt der folgende Fehler auf:
Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in E:\XAMPP\htdocs\account\lib\register.php on line 73
Dieser Fehler tritt auf, wenn Sie für jedes Feld in der INSERT-Abfrage eine Bindevariable angeben, die Abfrage jedoch keine Ergebnisse zurückgibt. Um dieses Problem zu beheben, müssen Sie die Zeile entfernen, die die Ergebnisse bindet:
<code class="php">$stmt->bind_result($user, $pw);</code>
Das geänderte Code-Snippet würde so aussehen:
<code class="php">$conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)"); $stmt->bind_param("ss", $user, $pw); $stmt->execute();</code>
Das obige ist der detaillierte Inhalt vonWarum tritt bei INSERT-Abfragen der Fehler „Anzahl der Bindungsvariablen stimmt nicht mit der Anzahl der Felder in der vorbereiteten Anweisung überein“ auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!