繁体   English   中英

如何在一个PHP if语句中运行2个SQL查询?

[英]How to run 2 sql queries in one php if statement?

这是我到目前为止的代码

if (isset($_POST['button1']))
    {
        $sql = "DELETE FROM UpcomingRota";
        $E1 = $_POST["MondayAMFirstEmployee"]; $E2 = $_POST["MondayAMSecondEmployee"]; $E3 = $_POST["MondayAMThirdEmployee"];
        $sql = "INSERT INTO UpcomingRota (DayAndTime, FirstEmployee, SecondEmployee, ThirdEmployee) VALUES ('MondayAM', '$E1', '$E2', '$E3')";

    }

这两个$ sql语句都可以完美地自己工作,但是当我在if语句中都使用它时,它似乎绕过了第一个而只运行了最后一个$ sql语句。

我怎样才能让它运行尽可能多的$ sql语句……要在那里大约15-20。

提前致谢。

根据要求提供更多代码。

$servername = "db568845851.db.1and1.com";
    $username = "dbo568845851";
    $password = "";
    $dbname = "db568845851";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    if (isset($_POST['button1']))
    {
        $sql = "DELETE FROM UpcomingRota";
        $E1 = $_POST["MondayAMFirstEmployee"]; $E2 = $_POST["MondayAMSecondEmployee"]; $E3 = $_POST["MondayAMThirdEmployee"];
        $sql = "INSERT INTO UpcomingRota (DayAndTime, FirstEmployee, SecondEmployee, ThirdEmployee) VALUES ('MondayAM', '$E1', '$E2', '$E3')";

    }

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

第二个语句将覆盖第一个语句。 您可以使用以下语法将第二个查询追加到第一个查询:

$sql = "First statement;"; // Statements are separated by a ;
$sql .= "Second statement;";

// (Notice the . before the = on the second line)
// $sql now contains "First statement;Second Statement;"

您还需要确保您正在以支持多查询的方式使用数据库适配器执行查询:

http://php.net/manual/en/mysqli.multi-query.php

$sql = "DELETE FROM UpcomingRota";
$myResult = mysql_query($sql);
        $E1 = $_POST["MondayAMFirstEmployee"]; $E2 = $_POST["MondayAMSecondEmployee"]; $E3 = $_POST["MondayAMThirdEmployee"];
        $sql = "INSERT INTO UpcomingRota (DayAndTime, FirstEmployee, 
SecondEmployee, ThirdEmployee) VALUES ('MondayAM', '$E1', '$E2', '$E3')";
$myResult = mysql_query($sql);

您必须执行查询。

原来是因为我只是在表中做很多插入操作,所以我应该这样做。

INSERT INTO TABLE (column1, column2) VALUES ('data', 'data'), ('data', 'data')

至今为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM