是否可以使用 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 脚本等待直到执行最后一个查询。

请注意,对于您的第二个查询,您应该使用准备好的语句而不是直接在查询中添加变量。