致命错误:未捕获错误:无法在C:\ xampp \ htdocs \ tourist \ AddFavorites.php中使用mysqli_result类型的对象作为数组:20 堆栈跟踪:
$user_id = $_POST['user_id'];
$place_id = $_POST['place_id'];
$sth = ("select count(*) as count from favorites WHERE place_id=$place_id
AND user_id=$user_id");
$result = $con->query($sth);
if($result['count']>0){
$output = array(
'status'=>"0",
'operation'=>"already exists"
);
echo json_encode($output);
$db = null;
return;
}
else{
..}
和第20行是if($ result ['count']> 0)我已经找到了现有的解决方案,但它仍然没有用。
答案 0 :(得分:0)
mysqli_result不能以这种方式使用。它基本上表示查询提取的所有行,因此您需要通过其中一种方法从中获取一行(请查看手册)。
你可能想要这样......
$result = $con->query($sth);
$row = $result->fetch_array();
if($row['count']>0){
// ...
}
答案 1 :(得分:-1)
运行查询后
$result = $con->query($sth);
$result
不是数组,通常是资源或TRUE或FALSE。你可以检查你的结果是否有这样的错误
if (!$result){
// This is an error
}
如果要检查行数,可以这样做
if (mysql_num_rows ($result) > 0){
// No or rows greater than 0
}
我强烈建议查看PHP手册
http://php.net/manual/en/function.mysql-query.php
甚至更好地使用mysqli
http://php.net/manual/en/book.mysqli.php
你现在应该使用哪个......