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?

Warum tritt bei INSERT-Abfragen der Fehler „Anzahl der Bindungsvariablen stimmt nicht mit der Anzahl der Felder in der vorbereiteten Anweisung überein“ auf?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 04:12:02474Durchsuche

 Why Does

Anzahl der Bind-Variablen stimmt beim Einfügen von Daten nicht mit der Anzahl der Felder in der vorbereiteten Anweisung überein

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn