gpt4 book ai didi

php - 警告::无效对象或资源 mysqli_stmt。含义和解决方案是什么?

转载 作者:行者123 更新时间:2023-12-03 07:41:26 25 4
gpt4 key购买 nike

下面的代码抛出了神秘的警告。我不明白他们的意思。这些错误表明什么以及如何消除它们?

require "conn.php";
$q = mysqli_stmt_init($dbconn);
$query = "SELECT users.userid FROM users WHERE users.email = ? ";
mysqli_stmt_prepare($q, $query);
mysqli_stmt_bind_param($q, "s", $email);
mysqli_stmt_execute($q);
$result = mysqli_stmt_get_result($q);
if (mysqli_num_rows($result) == 0) {
$q = mysqli_stmt_init($dbconn);
$query = "INSERT INTO users ( users.first_name, users.last_name, users.mobile_no, users.email, users.password, users.reg_date)
VALUES (? ,? ,? ,? ,? ,NOW() )";
mysqli_stmt_prepare($q, $query);
mysqli_stmt_bind_param($q, "sssss", $first_name, $last_name, $mobile_number, $email, $password);
mysqli_stmt_execute($q);
if (mysqli_stmt_affected_rows($q) == 1) {
echo "data inserted <br>";
foreach ($_POST as $key => $val) {
echo "$key - - - > $val <br>";
}
}
} else {
echo "email is already registered";
}

每当我在出现警告后运行此代码块时
Warning: mysqli_stmt_bind_param(): invalid object or resource mysqli_stmt in /storage/emulated/0/htdocs/registration_process.php on line 66

Warning: mysqli_stmt_execute(): invalid object or resource mysqli_stmt in /storage/emulated/0/htdocs/registration_process.php on line 67

Warning: mysqli_stmt_get_result(): invalid object or resource mysqli_stmt in /storage/emulated/0/htdocs/registration_process.php on line 68

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /storage/emulated/0/htdocs/registration_process.php on line 70

最佳答案

这里的问题非常奇特。这听起来不相关,但此错误消息是不可靠的语法变体的结果。

与对象语法相比,过程 mysqli 语法不仅过于冗长,而且具有欺骗性,不是在真正发生时引发错误,而是在已经为时已晚时引发错误,更不用说此错误消息的神秘本质了。

您的查询有问题,您需要获取 真实 错误信息 来自 MySQL 如本 answer 中所述但为了实现它,您必须更改语法。

外卖:解决你的问题

  • 重写你的conn.php如此我的 article 所示设置正确的连接设置
  • 将您的程序 mysqli 重写为对象语法,例如
    $query = "SELECT userid FROM users WHERE email = ?";
    $stmt = $dbconn->prepare($query);
    $stmt->bind_param("s", $email);
    $stmt->execute();
    $result = $stmt->get_result();
  • 获取 真正的错误信息
  • 如果错误已经很清楚,那么只需修复它,或者谷歌以获得更好的解释

  • 之后你就可以解决这个问题了。

    关于php - 警告::无效对象或资源 mysqli_stmt。含义和解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62296121/

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