Код следующий:
if (mysqli_multi_query($conn, $query)) {
$token = $_POST['token'];
$query = "INSERT INTO _usuarios (
login_usuario,
nombre_usuario,
password_usuario,
id_perfil,
fecha_creacion_usuario,
id_usuarioCreate)
VALUES (
'$token',
'$token',
'$passCreate',
6,
NOW(),
1
);";
if ($conn->query($query) === TRUE)
{
echo "User created successfully";
}
else
{
echo "Error creating user: " . $conn->error.$query;
}
}
Каждый раз, когда я запускаю мультизапрос (который в данном случае является очень большим сценарием sql для создания базы данных), и я пытаюсь выполнить INSERT ниже, я получаю одно и то же сообщение:
«Таблица _usuarios не существует»
Я полагаю, что это потому, что сценарий еще не закончился, когда я пытаюсь выполнить вставку.
Есть идеи?
Да, это возможно.
while ($mysqli->next_result());
Запустите этот код после нескольких запросов, чтобы скрипт PHP ожидал выполнения последнего запроса.
Обратите внимание, что для второго запроса вы должны использовать подготовленные операторы, а не добавлять переменные в запрос напрямую.
Что касается сообщения об ошибке, кажется, что ваша таблица еще не была создана. Вы можете сделать следующее, чтобы создать его за один шаг:
$token = $_POST['token'];
$token1 = $_POST['token1']; // I do not know it exactly anymore how you can retrieve all the POSTS
SELECT $token, $token1, field3, field4, ... INTO _usuarios
Теперь ваш стол будет создан и заполнен одновременно.