同一个变量下的两个数据库更改

时间:2015-08-02 19:52:34

标签: mysql sql database

我有代码:

 ...SOME CODE HERE...
//inserting data order
$order = "UPDATE  `database`.`table` SET  `status_client` =  'PRELUAT' WHERE  `flux_receptie`.`id` =$res";
$order = "UPDATE  `database`.`table` SET  `status_client` =  'PRELUAT' WHERE  `flux_receptie`.`id` =$res";

//declare in the order variable
$result = mysql_query($order);  //order executes
...SOME CODE HERE...

忽略DB命令,因为它将被修改。我的问题是,如果我可以使用$order两个数据库命令? $result = mysql_query($order);能正常工作吗? 谢谢朋友! :)

2 个答案:

答案 0 :(得分:0)

没有

您要在第二行重新定义$order,因此第一次设置$order时不会执行任何操作。您必须进行两个单独的查询或将它们组合成一个MySQL语句。

默认情况下,出于安全考虑,您也不能一次执行两个查询(因为有人可能会在您的中间注入一个恶意执行的MySQL命令)。例如。将$order设置为:

`UPDATE `table` SET `column`='value' WHERE (condition); UPDATE `table2` SET `column2`='value2' WHERE (condition2);

也无效。

答案 1 :(得分:0)

(继Nathans的回答,以及对此的评论)

要进行两个查询,只需构造:

//inserting data order
$order1 = "UPDATE  `database`.`table` SET  `status_client` =  'PRELUAT' WHERE  `flux_receptie`.`id` =$res";
$order2 = "UPDATE  `database`.`table` SET  `status_client` =  'PRELUAT' WHERE  `flux_receptie`.`id` =$res";

//declare in the order variable
$result = mysql_query($order1);  //order executes
$resultTwo = mysql_query($order2);

这将执行变量字符串中定义的两个订单。我强烈建议使用MySQLi或PDO方法探索OOP MySQL。谷歌吧:)