Я просто попытался использовать функцию «mysqli_multi_query» в своем php-коде (запросы разделяются точкой с запятой), и он правильно вставляет данные.
Я не получаю никакой ошибки после вызова "mysqli_multi_query". Но php-код под оператором «mysqli_multi_query» (простой эхо для тестирования) не достигнут.
Когда я заменяю «mysqli_multi_query» на «mysqli_query» внутри цикла, общий код php работает без проблем.
Это известное поведение или есть что-то еще, что мне нужно знать о "mysqli_multi_query"? Является ли mysqli выполняет несколько запросов асинхронно?
Извините, мой код находится на домашнем компьютере и не может разместить его здесь до конца следующей недели. Я проверил все запросы, вручную запустив на верстаке, и они отлично работают.
Я все еще могу это исправить, выполняя каждый запрос отдельно в цикле for, но надеюсь уменьшить количество обращений к базе данных и повысить производительность с помощью "mysqli_multi_query".
Я видел несколько похожих постовздесь, но никто из них не ответил должным образом на мой вопрос. Любая поддержка будет принята с благодарностью.
Код был что-то вроде этого.
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql1 = "insert into test (testCol) values(1);";
$sql2 = "insert into test (testCol) values(2);";
mysqli_multi_query($con, $sql1.$sql2 ); /* data inserted properly in test table. No error. */
/* Any code below here is not reached. But when I used below commented queries instead of above (mysqli_multi_query), echo is called.
mysqli_query($con, $sql1);
mysqli_query($con, $sql2);
*/
echo "Success";
mysqli_close($con);
?>