代码如下:
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;
}
}
每次我运行multiquery(在这种情况下是用于创建数据库的非常大的sql脚本)并且我尝试执行下面的INSERT时,我得到相同的消息:
'表_usuarios不存在'
我相信这是因为在我尝试插入时脚本还没有运行完毕。
有什么想法吗?
答案 0 :(得分:1)
是的,这是可能的。
while ($mysqli->next_result());
在多次查询后运行此代码,使PHP脚本等待,直到执行最后一次查询。
请注意,对于第二个查询,您应该使用预准备语句,而不是直接在查询中添加变量。
答案 1 :(得分:-1)
关于错误消息,似乎您的表尚未创建。您可以执行以下操作,以便在一个步骤中创建它:
$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
现在您的表格将同时创建和填充。