mysqli_stmt::bind_result():绑定变量数量不匹配
当尝试使用准备好的语句实现 PHP 登录表单时,用户通常会遇到错误“mysqli_stmt::bind_result(): 绑定变量的数量与准备好的声明中的字段。”此错误表示用于存储查询结果的绑定变量数量与底层 SQL 语句返回的实际字段数量之间存在差异。
诊断代码
$stmt = $mysqli->prepare("SELECT username, password FROM users WHERE username = ?"); $username = $_POST['name']; $stmt->bind_param('s', $username); $stmt->execute(); $stmt->bind_result($username, $password); // Incorrect field binding $stmt->fetch();
更正
上面的代码在其字段中包含错误绑定。 bind_result() 方法应反映 SELECT 语句返回的实际字段。在这种情况下,查询返回两个字段:用户名和密码。因此,正确的代码是:
$stmt->bind_result($username, $password); // Corrected field binding
更多提示
以上是为什么 `mysqli_stmt::bind_result()` 在 PHP 中抛出'绑定变量数量不匹配”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!