gpt4 book ai didi

php - bind_result 和 fetch 返回 null

转载 作者:行者123 更新时间:2023-11-29 10:37:38 27 4
gpt4 key购买 nike

这是我上传 .php 并在本地使用它之前的代码。

        public function getUserByCardNo($cardno){
$stmt = $this->con->prepare("SELECT * FROM accounts WHERE cardno = ?");
$stmt->bind_param("s",$cardno);
$stmt->execute();
return $stmt->get_result()->fetch_assoc();
}

我将 .php 上传到免费托管网站。运行后出现错误:Call to undefined method mysqli_stmt::get_result()

经过一番挖掘,我找到了这个答案:stackoverflow.com

他们说我需要使用 BIND_RESULT 和 FETCH。但我不知道在 while($stmt->fetch()) block 内写什么

所以,我继续挖掘并发现了这个:stackoverflow.com

现在这是我的代码:

        public function getUserByCardNo($cardno){
$stmt = $this->con->prepare("SELECT id, name, cardno, pin, balance, status FROM accounts WHERE cardno = ?");
$stmt->bind_param("s",$cardno);
$stmt->execute();
$stmt->bind_result($id, $name, $cardno, $pin, $balance, $status);
$info = array();
while ($stmt->fetch()){
$tmp = array();
$tmp["id"] = $id;
$tmp["name"] = $name;
$tmp["cardno"] = $cardno;
$tmp["pin"] = $pin;
$tmp["balance"] = $balance;
$tmp["status"] = $status;
array_push($info, $tmp);
}
$stmt->close();
return $info;
}

该函数由我的 userLogin.php 调用

if($_SERVER['REQUEST_METHOD']=='POST'){
if(isset($_POST['cardno']) and isset($_POST['pin'])){
$db = new DbOperations();
if($db->userLogin($_POST['cardno'], $_POST['pin'])){
$user = $db->getUserByCardNo($_POST['cardno']);
$response['error'] = false;
$response['id'] = $user['id'];
$response['pin'] = $user['pin'];
$response['cardno'] = $user['cardno'];
$response['name'] = $user['name'];
$response['balance'] = $user['balance'];
$response['status'] = $user['status'];

}
else{
$response['error'] = true;
$response['message'] = "Invalid Card Number or Pin";
}
}
else{
$response['error'] = true;
$response['message'] = "Required fields are missing";
}

}

因为我需要存储所有用户的信息。

但是使用 Postman 后,我得到了这个结果。

{"error":false,"id":null,"pin":null,"cardno":null,"name":null,"balance":null,"status":null}

它返回的所有内容都是 null。

最佳答案

$user 将位于数字索引数组内。因此,您需要使用 $user[0]['id'] 而不是 $user['id']

如果单个 cardno 可以有多个记录,您还需要遍历 $user 数组(如果需要的话)。

关于php - bind_result 和 fetch 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46134245/

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