这是我迄今为止拥有的代码
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 = "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);
您必须执行查询。
第二条语句正在覆盖第一条语句。您可以使用以下语法将第二个查询附加到第一个查询:
$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
事实证明,因为我只是在表中进行大量插入,所以我应该这样做。
INSERT INTO TABLE (column1, column2) VALUES ('data', 'data'), ('data', 'data')
到目前为止,它正在发挥作用。