在表

时间:2017-02-24 03:23:31

标签: mysqli

问题是我正在尝试使用multi_query创建多个表,并且在两个表中的两个寄存器之后。当我运行代码时,表在DB中创建,但无法创建寄存器。事情是,当我用简单的查询做所有事情时,代码完美地工作。我不知道我在这里缺少什么......这是代码:

if (isset($_POST['usercp']) && !empty($_POST['usercp'])) {

    if (isset($_POST['passlogin']) && !empty($_POST['passlogin'])) {

        $conn = mysqli_connect($host, $user, $pw, $db);

        if (!$conn) {
            echo "<script language='javascript'>alert('Usuario de CPanel incorrecto!!');window.location.href = 'http://here-a-page.com/';</script>";
        }
        else {

            $sql = "CREATE TABLE usercp (
            id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
            usuario VARCHAR(30) NOT NULL
            );";
            $sql = $sql . "CREATE TABLE numlink (
            id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
            Link VARCHAR(30) NOT NULL
            );";
            $sql = $sql . "CREATE TABLE login (
            id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
            Validacion_Pass VARCHAR(30) NOT NULL
            );";
            $file = fopen("UsuarioCpanel.txt", "w");
            fwrite($file, $UserCp . PHP_EOL);
            fclose($file);

            if ($conn->multi_query($sql)) {
                $PassLogin = $_POST['passlogin'];
                $consulta = " INSERT INTO usercp(usuario) VALUES('$UserCp');";
                $consulta = $consulta . "INSERT INTO login(Validacion_Pass) VALUES('$PassLogin');";
                if ($conn->multi_query($consulta)) {
                        header('location: index.php');
                    }
                else{
                    echo "Ocurrio un error creando los registros";
                }   
            }
            else{
                echo "Error creating table: " . $conn->error;
            }

        }
    }
    else{
        echo "<script language='javascript'>alert('Debes poner el Password que utilizaras con el Login del Cloaking System');window.location.href = 'http://here-a-page.com/';</script>";
    }
}
else {

    echo "<script language='javascript'>alert('Debes poner tu Usuario de CPanel');window.location.href = 'http://here-a-page.com/';</script>";
}

我在类似于我的问题中找到了解决问题的方法。 @furas在你想要做的每个multi_query之后用“while(){}”解决了这个问题。由于某种原因,multi_query不能自然地运行多次。要做到这一点,你需要在每个multi_query后写这行:

while( mysqli_more_results($link) ){
    $result = mysqli_store_result($link);
    mysqli_next_result($link);
}

1 个答案:

答案 0 :(得分:0)

我在类似于我的问题中找到了解决问题的方法。 @furas在你想要做的每个multi_query之后用“while(){}”解决了这个问题。由于某种原因,multi_query不能自然地运行多次。要做到这一点,你需要在每个multi_query后写这行:

while( mysqli_more_results($link) ){
    $result = mysqli_store_result($link);
    mysqli_next_result($link);
}