首頁 > 後端開發 > php教程 > 為什麼我在 INSERT 查詢中收到「綁定變數數量與欄位數量不符」錯誤?

為什麼我在 INSERT 查詢中收到「綁定變數數量與欄位數量不符」錯誤?

Susan Sarandon
發布: 2024-10-28 09:41:29
原創
1098 人瀏覽過

Why Am I Getting a

INSERT 查詢引發問題:綁定變數的數量與準備好的語句不相容

在您的PHP 程式碼中,錯誤訊息指示之間不符合準備好的語句中的綁定變數和欄位的數量。具體來說,警告內容為:

「警告:mysqli_stmt::bind_result():綁定變數的數量與準備好的語句中的欄位數量不符」

此錯誤發生在以下程式碼中:

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();

  /* Bind results */
  $stmt -> bind_result($user, $pw);

  /* Close statement */
  $stmt -> close();
  $userId = $conn->insert_id;
}
登入後複製

理解問題

錯誤源自於您嘗試將結果變數($user 和$pw)綁定到不傳回任何內容的語句結果。在這種情況下,INSERT 查詢沒有 SELECT 子句或傳回值的預存程序。因此,綁定結果變數是​​不必要的。

解決問題

要解決問題,只需刪除綁定結果變數的行:

$stmt -> bind_result($user, $pw);
登入後複製

透過刪除這一行,您可以消除綁定變數的數量(0)和準備好的語句中的欄位數量(也是0)之間的不匹配。這應該可以解決錯誤並允許您的程式碼成功執行。

以上是為什麼我在 INSERT 查詢中收到「綁定變數數量與欄位數量不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板