MySQL :: insert_id为SELECT查询返回非零值

时间:2014-08-09 22:24:47

标签: php mysql insert last-insert-id mysql-insert-id

我刚刚花了4个小时跟踪我脚本中的错误。我一直收到以下错误:

Call to a member function fetch_assoc on a non object

当我做了类似的事情时,这就被抛出了。

$query = $database -> query("SELECT .....")
while($q = $query) {...}

我的database -> query方法如下所示:(其中$database -> mysqlimysqli个对象)

function query($stmt) {
    $query = $this -> mysqli -> query($stmt);
    $id = $this -> mysqli -> insert_id;
    return $id === 0 ? $query : $id;
}

现在,这将返回插入行的插入自动增量ID,否则返回查询结果。我刚刚发现如果我运行插入查询然后选择查询,第二个查询将返回事先插入查询运行的插入ID。这真的是预期的行为,还是我在这里遗漏了什么?

0 个答案:

没有答案