Php MySQLi多查询不';行不通

Php MySQLi多查询不';行不通,php,mysql,mysqli,multi-query,Php,Mysql,Mysqli,Multi Query,早上好 我试图使用MySqli Multi-query将登录脚本发布的变量放入两个不同的数据库表中;常见的详细信息需要发布在wp_users表中,不常见的详细信息需要发布在我自己制作的wp_users_info表中 我正在尝试使用以下代码来实现这一点: <?php if (isset($_POST['btn-signup'])) { $uname = mysqli_real_escape_string($con, $_POST['uname']);

早上好

我试图使用MySqli Multi-query将登录脚本发布的变量放入两个不同的数据库表中;常见的详细信息需要发布在wp_users表中,不常见的详细信息需要发布在我自己制作的wp_users_info表中

我正在尝试使用以下代码来实现这一点:

       <?php
    if (isset($_POST['btn-signup'])) {
        $uname = mysqli_real_escape_string($con, $_POST['uname']);
        $achternaam = mysqli_real_escape_string($con, $_POST['achternaam']);
        $upass = md5(mysqli_real_escape_string($con, $_POST['pass']));
        $datum = mysqli_real_escape_string($con, $_POST['datum']);
        $email = mysqli_real_escape_string($con, $_POST['email']);
        $basisschool = mysqli_real_escape_string($con, $_POST['basisschool']);
        $opleidingsduur = mysqli_real_escape_string($con, $_POST['opleidingsduur']);
        $bsgroep = mysqli_real_escape_string($con, $_POST['bsgroep']);
        $url = '#leerling';
        $fullname = $uname . ' ' . $achternaam;

        if (mysqli_multi_query($con,"INSERT INTO wp_users (user_login,user_pass,user_nicename,user_email,user_url,user_registered,display_name) VALUES ('$email','$upass','$uname','$email','$url','now()','$fullname'); INSERT INTO wp_users_info (user_voornaam,user_achternaam,user_geboortedatum,user_basisschool,user_opleidingsduur,user_groep) VALUES('$uname','$achternaam','$datum','$basisschool','$opleidingsduur','$bsgroep')" )) {

            ?> <script>alert('Je hebt een account aangemaakt en vanaf nu kun je jezelf inloggen! ');</script><?php
            echo '<script>window.location = "' . $link2 . '";</script>';
        } else {
            ?>
            <script>alert('Fout bij het registreren...');</script>
            <?php
        }
    }
    ?>

警报('Fout bij het registeren…');
如果我运行此代码,则会出现以下错误: 有人知道如何使用代码使其工作吗

对不起,我英语不好,我来自荷兰


Jeffrey

只是不要使用多重查询。那不是你想象的那样


对插入使用两个单独的准备好的查询。

只是不要使用多个查询。那不是你想象的那样


使用两个单独的准备好的查询进行插入。

您可以使用两个单独的准备好的查询,如下所示:

// prepare and bind Users Query
$queryUsers = $conn->prepare("INSERT INTO wp_users(user_login,user_pass,user_nicename,user_email,user_url,user_registered,display_name) VALUES (?, ?, ?, ?, ?, ?, ?)");
$queryUsers->bind_param("sssssss",$email,$upass,$uname,$email,$url,$now,$fullname);

// execute Users Query
$queryUsers->execute();

// prepare and bind Users Info Query
$queryUsersInfo = $conn->prepare("INSERT INTO wp_users_info (user_voornaam,user_achternaam,user_geboortedatum,user_basisschool,user_opleidingsduur,user_groep) VALUES (?, ?, ?, ?, ?, ?)");
$queryUsersInfo->bind_param("ssssss",$uname,$achternaam,$datum,$basisschool,$opleidingsduur,$bsgroep);

// execute Users Info Query
$queryUsersInfo->execute();

// Close Connections
$queryUsers->close();
$queryUsersInfo->close();

您可以使用两个单独的准备好的查询,如下所示:

// prepare and bind Users Query
$queryUsers = $conn->prepare("INSERT INTO wp_users(user_login,user_pass,user_nicename,user_email,user_url,user_registered,display_name) VALUES (?, ?, ?, ?, ?, ?, ?)");
$queryUsers->bind_param("sssssss",$email,$upass,$uname,$email,$url,$now,$fullname);

// execute Users Query
$queryUsers->execute();

// prepare and bind Users Info Query
$queryUsersInfo = $conn->prepare("INSERT INTO wp_users_info (user_voornaam,user_achternaam,user_geboortedatum,user_basisschool,user_opleidingsduur,user_groep) VALUES (?, ?, ?, ?, ?, ?)");
$queryUsersInfo->bind_param("ssssss",$uname,$achternaam,$datum,$basisschool,$opleidingsduur,$bsgroep);

// execute Users Info Query
$queryUsersInfo->execute();

// Close Connections
$queryUsers->close();
$queryUsersInfo->close();

首先,了解防止SQL注入的准备语句。看起来您的db连接没有建立。你能告诉我你在哪里叫mysqli_connect吗?我有一个单独的文件,我在那里连接到database.db_connect.php,我需要它在文件的开头。这就是其中的内容:首先,了解防止SQL注入的预处理语句看起来您的db连接没有建立。你能告诉我你在哪里叫mysqli_connect吗?我有一个单独的文件,我在那里连接到database.db_connect.php,我需要它在文件的开头。这就是其中的含义:你能给我一个在我的情况下如何使用它的例子吗?昨天我试着用两个独立的查询使它工作,但那也不起作用。你能给我一个在我的情况下如何使用它的例子吗?昨天我试着用两个独立的查询使它工作,但那也不起作用。