Php 是否同时使用多个SQL命令?
背景。有两个数据库,一个可用,另一个正在使用。用户将查看一个列表,找到一台电脑并复制其IP,然后填写一个简短的表单,其中包含他们的IP=、电子邮件、日期接收者和返回电脑的日期。现在,我想使用IP(这是两个表中的键)1)将表单中的信息插入“使用中”表2)使用IP从“可用”表中提取剩余信息并插入“使用中”表3)使用用户输入的IP删除行。 我所有的命令都很好,只是不在一起,通常是第二个命令将行从“可用”表拉到“正在使用”,忽略表单的其余部分(保留日期、返回日期、电子邮件)和delete命令。下面是我的代码Php 是否同时使用多个SQL命令?,php,sql,Php,Sql,背景。有两个数据库,一个可用,另一个正在使用。用户将查看一个列表,找到一台电脑并复制其IP,然后填写一个简短的表单,其中包含他们的IP=、电子邮件、日期接收者和返回电脑的日期。现在,我想使用IP(这是两个表中的键)1)将表单中的信息插入“使用中”表2)使用IP从“可用”表中提取剩余信息并插入“使用中”表3)使用用户输入的IP删除行。 我所有的命令都很好,只是不在一起,通常是第二个命令将行从“可用”表拉到“正在使用”,忽略表单的其余部分(保留日期、返回日期、电子邮件)和delete命令。下面是我的
<?php
$connect = mysqli_connect("reserve1",
"root", "","server_31");
$status = "";
if(isset($_POST['new']) &&
$_POST['new']==1){
$IPAddress = $_REQUEST['IPAddress'];
$Email = $_REQUEST['Email'];
$Date_Reserved =
$_REQUEST['Date_Reserved'];
$Date_Returned =
$sql= "INSERT INTO servers_in_use
(IPAddress,DateReserved,DateReturned,Email)
VALUES
('$IPAddress','$Date_Reserved',
'$Date_Returned','$Email')";
$sql= "INSERT INTO servers_in_use
(IPAddress, Manufacturer,Model, BIOSDate,
BIOSFamily, SerialNumber) SELECT
IPAddress,Manufacturer,Model, BIOSDate,
BIOSFamily, SerialNumber FROM servers
WHERE IPAddress = '$IPAddress'";
$sql="DELETE FROM servers WHERE IPAddress =$IPAddress";
if ($connect->query($sql) === TRUE)
{
echo "New record created successfully";
}
else
{
echo "Error: " . $sql . "<br>" .
$connect->error;
}
$connect->close();
}
?>
您每次都在覆盖$sql
。只有mysqli\u multi\u query
一次可以运行多条语句。最好是单独运行每个查询。我将如何实现这一点?我可以为每个查询命名不同的名称,然后按照我希望的顺序调用它们吗?您可以这样做,或者运行$connect->query($sql)代码>在每个定义之后。这取决于你想怎么做。我会试试那些方法。谢谢你的反馈!