【问题标题】:php-mysqli wait for the 'multi_query' queries to complete?php-mysqli 等待“multi_query”查询完成?
【发布时间】:2018-11-22 00:21:01
【问题描述】:

我正在导入mysqlsqldump,如下所示。

$command = file_get_contents($dumpfile);
$conn->multi_query($command);
while (mysqli_next_result($conn)); // Flush out the results.

我已经精简了这里的代码,只专注于问题。

现在一切正常,除了我在这个命令之后有一个查询。

并且该查询没有找到从上一步导入后应该存在的表。

然后我意识到使用上述方法的导入过程似乎是异步的,并且在 php 完成执行很久之后,导入似乎仍在继续。导入完成后,我可以手动执行相同的查询,该查询之前返回错误“某某table.column不存在”。

那么,有没有办法等待它结束,让multi_query 进程完成,然后在 php 中继续执行?

【问题讨论】:

    标签: php mysql mysqli-multi-query


    【解决方案1】:

    好吧,我的错,实际上,下面这行确实让 php 等到处理完成,只是我传递了一个不同的连接句柄。

    while (mysqli_next_result($conn)); // Flush out the results.
    

    【讨论】:

      猜你喜欢
      • 2014-10-13
      • 2018-04-13
      • 1970-01-01
      • 2021-03-23
      • 2020-03-22
      • 2022-01-21
      • 1970-01-01
      • 2015-04-08
      • 2019-04-08
      相关资源
      最近更新 更多