我刚刚花了 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。这真的是预期的行为,还是我在这里遗漏了什么?