php - mysqli multi_query 后跟查询

标签 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);

有没有更快的转储结果的方法?

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

Commands out of sync; you can't run this command now

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

还有更好的解决方案吗?

最佳答案

找到了一个更快的解决方案,在更新 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();

不确定它的实用性如何,但可以提高速度。

关于php - mysqli multi_query 后跟查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11945142/

相关文章:

mysql - 使用 Zoc 终端备份 MySQL 数据库(Linux 服务器)

来自.ajax调用的PHP文件未将数据插入数据库

php - 在 MySQL 中使用 VARCHAR 来处理一切! (在小型或微型网站上)

java - 为什么要更新不属于 UPDATE 请求的字段?

php - Mysql - Woocommerce 交叉销售和向上销售单一产品

java - 如何将android应用程序与应用程序引擎上的数据存储连接

php - 与主数据库同步

php - 获取一天的总工作时间、总工作时间、总外出时间 mysql

php - Wordpress - 在父菜单项上维护 "active"类

MySql if 语句在 where 子句中