我试图检查数据库返回的结果是否为零,但始终落到零以下是我的代码
if(isset($_POST['cust_id'])){
$cust_id = $_POST['cust_id'];
$stmt = $connect->prepare("SELECT DISTINCT send_stamp, message, time, status FROM `chat` WHERE cust_id=?");
$stmt->bind_param('i', $cust_id);
}
else if(isset($_POST['receiverid'])) {
$receiverid = $_POST['receiverid'];
$stmt = $connect->prepare("SELECT DISTINCT send_stamp, message, time, status FROM `chat` WHERE receiverid=?");
$stmt->bind_param('i', $receiverid);
}
if($stmt->execute()){
$data = array();
if($stmt->num_rows ==0){
$data[] = array(
'message'=> 'No messages found',
'status'=>0,
);
}
else{
$result = $stmt->get_result();
while ($row =mysqli_fetch_array($result)) {
$data[] = array(
'message'=> $row['message'],
'time'=> $row['time'],
'status'=> $row['status'],
);
}
}
}
echo json_encode( $data);
请帮助我找出这种情况。谢谢
尝试使用此
执行查询并将数据获取到result like $result=$stmt->execute()
中, result
比较if() condition like if($result)
和if($result == 0)
内部,因此给出了结果
$result=$stmt->execute();
if($result)
{
$data = array();
if($result ==0){
$data[] = array(
'message'=> 'No messages found',
'status'=>0,
);
}
else{
$result = $stmt->get_result();
while ($row =mysqli_fetch_array($result)) {
$data[] = array(
'message'=> $row['message'],
'time'=> $row['time'],
'status'=> $row['status'],
);
}
}
}
或
还要在if($stmt->execute())
之后编写$result = $stmt->get_result();
,然后像这样比较if($result->num_rows ==0)