PHP如何结合使用插入查询和删除查询
我花了很多时间寻找这个问题的解决方案,但是我没有找到答案,我试图将一行从一个表归档到另一个表,然后从原始表中删除该行。我已经设置了我认为应该如何设置的代码,但它只移动记录,而没有将其从原始表中删除PHP如何结合使用插入查询和删除查询,php,mysql,Php,Mysql,我花了很多时间寻找这个问题的解决方案,但是我没有找到答案,我试图将一行从一个表归档到另一个表,然后从原始表中删除该行。我已经设置了我认为应该如何设置的代码,但它只移动记录,而没有将其从原始表中删除 mysql_connect('localhost', 'brokensky', 'password'); mysql_select_db('isad235database'); $select = filter_var($_POST['selectlist'],FILTER_SANITIZE_STR
mysql_connect('localhost', 'brokensky', 'password');
mysql_select_db('isad235database');
$select = filter_var($_POST['selectlist'],FILTER_SANITIZE_STRING);
$query = "INSERT INTO `serversarchive` (`Server_ID`,`Server_name` , `Location` , `MAC_Address` , `Port_Number` , `IP_Address`, `Operating_System`, `Administrator`, `Contact_Number`, `Email` , `Second_Contact`, `Second_Contact_Number`, `Comments`)
SELECT * FROM `servers`
WHERE `Server_ID` = '$select'; DELETE FROM server WHERE Server_ID = = '$select'";
由于我已经环顾四周好几个小时,对此没有一个像样的答案,我认为这对其他人也可能有用。您需要按顺序执行这些步骤。如果它们需要作为一个原子单元发生,请使用事务
另请参见:您需要按顺序执行
$query = "INSERT INTO `serversarchive` (`Server_ID`,`Server_name` , `Location` , `MAC_Address` , `Port_Number` , `IP_Address`, `Operating_System`, `Administrator`, `Contact_Number`, `Email` , `Second_Contact`, `Second_Contact_Number`, `Comments`)
SELECT * FROM `servers`
WHERE `Server_ID` = '$select'";
//execute first
$query2 = "DELETE FROM server WHERE Server_ID = '$select'"; // == should be single =
//now execute this one.
你不能在一个mysql\u query()函数调用中使用多个查询(你甚至不能使用
mysql\u query
)==
也会给你一个错误。可能的重复>这仍然不起作用,只有移动完成了记录的删除才不会发生。简单的错误…你使用的是双等于。(==)
。它应该是单个=。更正。为什么他不能使用多查询,例如受mysqlnd
支持?@DanFromGermanymysqlnd
在面向预算的主机上不受很好的支持。最好坚持基本原则。不管怎样,我对它不熟悉——也许你想写一个答案?