是否可以使用 PHP mysqli_multi_query 跟踪 mysql 脚本执行的进度?
Is it possible to track the progress of a mysql script execution using PHP mysqli_multi_query?
代码如下:
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,我得到相同的消息:
'Table _usuarios 不存在'
我认为这是因为在我尝试插入时脚本尚未完成 运行ning。
有什么想法吗?
关于错误信息,好像你的table还没有创建。您可以执行以下操作以一步创建它:
$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
现在您的 table 将同时创建和填充。
是的,这是可能的。
while ($mysqli->next_result());
运行 此代码在您的多重查询之后使 PHP 脚本等待直到执行最后一个查询。
请注意,对于您的第二个查询,您应该使用准备好的语句而不是直接在查询中添加变量。
代码如下:
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,我得到相同的消息:
'Table _usuarios 不存在'
我认为这是因为在我尝试插入时脚本尚未完成 运行ning。
有什么想法吗?
关于错误信息,好像你的table还没有创建。您可以执行以下操作以一步创建它:
$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
现在您的 table 将同时创建和填充。
是的,这是可能的。
while ($mysqli->next_result());
运行 此代码在您的多重查询之后使 PHP 脚本等待直到执行最后一个查询。
请注意,对于您的第二个查询,您应该使用准备好的语句而不是直接在查询中添加变量。