我正在导入一个 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中继续执行?
1条答案
按热度按时间1cklez4t1#
好吧,我的错,实际上,下面这行确实让php等待处理完成,只是我传递了一个不同的连接句柄。