gpt4 book ai didi

php - 调用成员函数 fetch_assoc() 时发生 fatal error - 为什么 fetch_assoc() 不起作用?

转载 作者:行者123 更新时间:2023-11-29 18:03:26 26 4
gpt4 key购买 nike

这是 DbOperations 错误。 PHP代码:

public function getUserByUserid($user_id){
$stmt = $this->con->prepare("SELECT * FROM mydb.User WHERE user_id = ?" );
$stmt->bind_param("s", $user_id);
return $stmt->get_result()->fetch_assoc();
}

在另一个 userLogin.php 中,我在这里使用 getUserByUserid($user_id) :

if($db->userLogin($_POST['user_id'], $_POST['password'])){
$user = $db->getUserByUserid($_POST['user_id']);
$response['error'] = false;
$response['user_id'] = $user['user_id'];
$response['name'] = $user['name'];
$response['contact_no'] = $user['contact_no'];
$response['email'] = $user['email'];
$response['role'] = $user['role'];

这是错误消息:

<b>Fatal error</b>:  Call to a member function fetch_assoc() on a non-object in
<b>C:\xampp\htdocs\Android\includes\DbOperations.php</b> on line
<b>41</b>
<br />

第 41 行是:return $stmt->get_result()->fetch_assoc();

不确定 fetch_assoc() 问题是什么,我是初学者...谢谢您的帮助:)

最佳答案

在尝试获取结果之前,您必须执行查询。通常是用 execute 完成的:

public function getUserByUserid($user_id){
$stmt = $this->con->prepare("SELECT * FROM mydb.User WHERE user_id = ?" );
$stmt->bind_param("s", $user_id);
// Executing a query
$stmt->execute();

return $stmt->get_result()->fetch_assoc();
}

进一步,您可以检查执行是否成功完成( get_result() 在本例中返回 not false ),如果出现错误 - 以某种方式获取错误消息 mysqli_errno()例如。更多信息(通常)在 manual .

关于php - 调用成员函数 fetch_assoc() 时发生 fatal error - 为什么 fetch_assoc() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48129283/

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