php-mysqli ждать завершения запросов 'multi_query'? - PullRequest
0 голосов
/ 12 июня 2018

Я импортирую 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 Ответ

0 голосов
/ 12 июня 2018

Хорошо, на самом деле, плохо, следующая строка заставляет заставить php ждать завершения обработки, просто я передал другой дескриптор соединения.

while (mysqli_next_result($conn)); // Flush out the results.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...