mysqli multi_query后跟查询

时间:2012-08-14 02:50:25

标签: php mysql database mysqli mysqli-multi-query

我目前正在做以下事情:

$mysqli = new mysqli($server, $username, $password, $database);

$mysqli->multi_query($multiUpdates);
while ($mysqli->next_result()) {;} // Flushing results of multi_queries
$mysqli->query($sqlInserts);

是否有更快的方法来转储结果?

我不需要它们,只想运行下一个查询,但是我收到错误:

  

命令不同步;你现在不能运行这个命令

问题是while ($mysqli->next_result()) {;}需要大约2秒钟,这对我不想要的东西来说是浪费。

那里有更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

找到一个更快的解决方案,在更新500条记录和插入500条记录时可节省大约2-3秒。

function newSQL() {
    global $server, $username, $password, $database;
    $con = new mysqli($server, $username, $password, $database);
    return $con;
}

$mysqli = newSQL();
$mysqli->multi_query($multiUpdates);
$mysqli->close();

$mysqli = newSQL();
$mysqli->query($sqlInserts);
$mysqli->close();

不确定它有多实用,但效果很好。