了解mysqli_stmt::bind_result() 中的錯誤
在PHP 的MySQLi 擴充中使用好的語句時,您可能會準備好的語句時,您可能會遇到錯誤“ mysqli_stmt::bind_result():綁定變數的數量與中的欄位數量不符準備好的宣告。
分析提供的代碼
在提供的代碼中,問題出在用於準備語句的SELECT 語句上:
$stmt = $mysqli->prepare("SELECT username AND password FROM users WHERE username = ?");
在此語句中,SELECT 子句指定了兩個字段, “使用者名稱”和“密碼”。但是,僅使用了一個綁定變數($username):
$stmt->bind_param('s', $username);
解決問題
要解決此問題,應修改SELECT 子句以包括僅綁定到結果的字段。在這種情況下,只需要「使用者名稱」:
$stmt = $mysqli->prepare("SELECT username FROM users WHERE username = ?");
透過此修改,查詢中的欄位數量將與綁定變數的數量匹配,錯誤將得到解決。
補充說明
以上是當綁定變數的數量與所選欄位的數量不符時,為什麼「mysqli_stmt::bind_result()」會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!