Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich in meiner vorbereiteten MySQLi-Anweisung die Fehlermeldung „Falsche Anzahl von Bindevariablen'?

Warum erhalte ich in meiner vorbereiteten MySQLi-Anweisung die Fehlermeldung „Falsche Anzahl von Bindevariablen'?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 07:06:02376Durchsuche

Why am I getting an

Falsche Anzahl von Bind-Variablen in der vorbereiteten Anweisung: Fehlerbehebung

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!

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