如何在一个mysql_query中放入两个查询?

时间:2010-01-01 15:57:10

标签: php mysql

我正在尝试做这样的事情:

mysql_query("
  UPDATE name SET money = money + 1;
  UPDATE surname SET money = money + 1;
"); 

但它不起作用。

这只是一个例子,但我的问题是:如何在一个mysql_query中添加两个甚至更多的查询?

4 个答案:

答案 0 :(得分:13)

http://docs.php.net/mysql_query说:

mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。

但您可能对mysqli::multi_query感兴趣:

执行由分号连接的一个或多个查询。

答案 1 :(得分:5)

您应该将事务用于需要以原子方式发生的查询,我怀疑这些可能会发生。

答案 2 :(得分:0)

这可以使用MySQLi接口特别是mysqli_multi_query()来完成。 http://ca3.php.net/manual/en/mysqli.multi-query.php

应该注意的是,在使用此函数时,您需要格外小心,因为任何SQL注入攻击都会产生更广泛的影响。

答案 3 :(得分:-3)

或者你可以试试这个......

$query1 ="UPDATE name SET money = money + 1;";
$query2 ="UPDATE surname SET money = money + 1";

mysql_query($query1,$query2) or die(mysql_error());