gpt4 book ai didi

php - 如何修复mysql数据库修改时的 "mysqli_stmt::bind_param():"

转载 作者:行者123 更新时间:2023-11-29 15:46:08 25 4
gpt4 key购买 nike

我正在创建一个用户注册系统,当我开始修改数据库时出现错误“警告:mysqli_stmt::bind_param():类型定义字符串中的元素数量与第 41 行/opt/lampp/htdocs/Projectss/01_sarah/index.php 中的绑定(bind)变量数量不匹配”

我已经尝试使用 php 文档中有关向数据库添加数据的每一种方法

这是一些代码

       $hash_password = password_hash($password, PASSWORD_DEFAULT);

$query = "INSERT INTO users (first_name,last_name,email,password) VALUES('$first_name','$last_name','$email','$hash_password')";

$stmt = $conn->prepare($query);
if (!$stmt) {
echo mysqli_error($conn);
}
$stmt->bind_param('ssss', $query);
$stmt->execute(); // execute prepared statement
$conn->close(); // close connection

}

预期结果应该是将信息保存到数据库后不会收到任何警告

最佳答案

您在bindParam中传递完整的查询,并在查询中传递值,而不是像这样在bindParam中传递参数。

       $hash_password = password_hash($password, PASSWORD_DEFAULT);

$query = "INSERT INTO users (first_name,last_name,email,password) VALUES(?, ?, ?, ?)";

$stmt = $conn->prepare($query);
$stmt->bind_param('ssss', $first_name, $last_name, $email, $hash_password);
$stmt->execute(); // execute prepared statement
$conn->close(); // close connection

关于php - 如何修复mysql数据库修改时的 "mysqli_stmt::bind_param():",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57020848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com