2015-03-31 25 views
1

这是我的代码至今如何在一个php if语句中运行2个sql查询?

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; 
    } 
+1

那么因为你发布的代码实际上并没有运行任何SQL语句,所以也许你应该显示不起作用的真实代码 – 2015-03-31 09:05:34

+0

当你设置“插入”查询而不做任何事情时,你正在覆盖$ sql值$ sql =“DELETE FROM UpcomingRota”; – Olvathar 2015-03-31 09:05:37

+0

您需要执行查询。在这里,你只需要在查询中设置'$ sql'变量。 – D4V1D 2015-03-31 09:07:04

回答

1

第二个声明是覆盖第一个声明。

$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

+2

您需要确保SQL语句由';'分隔,因此请使用'$ sql。=“;第二条语句”' – 2015-03-31 09:08:52

1
$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); 

,你必须执行的querys。

0

因为我只是做了很多插入我的表我应该这样做。

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

及其工作到目前为止。