php-mysqli 等待 'multi_query' 查询完成?
php-mysqli wait for the 'multi_query' queries to complete?
我正在导入一个 mysqlsqldump
如下。
$command = file_get_contents($dumpfile);
$conn->multi_query($command);
while (mysqli_next_result($conn)); // Flush out the results.
我已经精简了这里的代码,只关注问题。
现在一切正常,除了我在这个命令后有一个查询。
并且该查询未找到在上一步导入后应该存在的表。
然后我意识到使用上述方法的导入过程似乎是异步的,并且在 php 完成执行很久之后导入似乎还在继续。一旦导入完成,我就可以手动执行相同的查询,该查询之前返回错误 "so and so table.column
doesn't exist".
那么,有没有办法等到 multi_query
过程完成,然后在 php 中继续执行?
好吧,我的错,实际上,以下行 确实 使 php 等待处理完成,只是我传递了一个不同的连接句柄.
while (mysqli_next_result($conn)); // Flush out the results.
我正在导入一个 mysqlsqldump
如下。
$command = file_get_contents($dumpfile);
$conn->multi_query($command);
while (mysqli_next_result($conn)); // Flush out the results.
我已经精简了这里的代码,只关注问题。
现在一切正常,除了我在这个命令后有一个查询。
并且该查询未找到在上一步导入后应该存在的表。
然后我意识到使用上述方法的导入过程似乎是异步的,并且在 php 完成执行很久之后导入似乎还在继续。一旦导入完成,我就可以手动执行相同的查询,该查询之前返回错误 "so and so table.column
doesn't exist".
那么,有没有办法等到 multi_query
过程完成,然后在 php 中继续执行?
好吧,我的错,实际上,以下行 确实 使 php 等待处理完成,只是我传递了一个不同的连接句柄.
while (mysqli_next_result($conn)); // Flush out the results.