我知道有人问过类似的问题,我已经尝试了很多(包括 php 文档),但我似乎没有让它工作。
我有以下内容:
$query = "insert into page title values ('v1');insert into page title values ('v2');insert into page title values ('v3');"
$mysqlidb->multi_query($query);
$index = 0;
$insertId = $this->db->insert_id;
for($i = $insertId; $i < $insertId + sizeof($pages); $i++) {
//store ids in some array
}
如果我执行上面的代码,无论我接下来尝试在数据库上做什么,我都会收到“命令不同步;您现在无法运行此命令”错误。
我知道我必须关闭所有结果,问题是我不知道如何。
似乎有结果,因为$mysqli->more_results()
返回 true 但是如果我然后调用 use_result() 或 store_result() 这些返回 null。我在调用 next_result() 之前和之后都尝试过这样做,它总是为空:
while($mysqli->more_results()) {
//next line returns error, calling close() on null:
$mysqli->use_result()->close();
$mysqli->next_result();
}
或者
while($mysqli->more_results()) {
$mysqli->next_result();
//next line returns error, calling close() on null:
$mysqli->use_result()->close();
}
请帮助,在执行 multi_query 插入和调用 insert_id 之后如何摆脱“命令不同步;您现在无法运行此命令”。谢谢。