我刚刚花了4个小时跟踪我脚本中的错误。我一直收到以下错误:
Call to a member function fetch_assoc on a non object
当我做了类似的事情时,这就被抛出了。
$query = $database -> query("SELECT .....")
while($q = $query) {...}
我的database -> query
方法如下所示:(其中$database -> mysqli
是mysqli
个对象)
function query($stmt) {
$query = $this -> mysqli -> query($stmt);
$id = $this -> mysqli -> insert_id;
return $id === 0 ? $query : $id;
}
现在,这将返回插入行的插入自动增量ID,否则返回查询结果。我刚刚发现如果我运行插入查询然后选择查询,第二个查询将返回事先插入查询运行的插入ID。这真的是预期的行为,还是我在这里遗漏了什么?