我有下面的代码来检查行是否存在然后执行某些操作。然而,我得到了
Call to a member function fetch_assoc()
我发现如果我输入 $check->get_result();
之前$check->store_result();
这个错误消失了,但是当我这样做并回显 $check->num_rows;
时即使表中只有一行,我也得到空结果。我做错了什么?
var_dump($check_result);
给我以下内容
0bject(mysqli_result)#6 (5) {
["current_field"]=> int(0)
["field_count"]=> int(25)
["lengths"]=> NULL
["num_rows"]=> int(1)
["type"]=> int(0)
}
这是查询...
$material = '';
$check_added = $mysqli->prepare("select * from table where material = ? order by id desc limit 1");
$check_added->bind_param('s', $material);
$check_added->execute();
$check_result = $check_added->get_result();
$check_added->store_result();
echo $check_added->num_rows;
if($check_added->num_rows < 1)
{
//Do something
}
else
{
while($checkrow = $check_result->fetch_assoc()){
echo $checkrow['title'];
}
最佳答案
$check_added 是一个 mysqli 准备好的语句对象,您将其视为结果集,您是否已经使用过 $check_result->num_rows?
关于php - 对非对象调用成员函数 fetch_assoc()。 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20485186/