如何将两个查询放在一个mysql_query中?
我试图做这样的事情:如何将两个查询放在一个mysql_query中?
mysql_query("
UPDATE name SET money = money + 1;
UPDATE surname SET money = money + 1;
");
,但它不工作。
这只是一个例子,但我的问题是:我怎样才能把两个或更多的查询在一个mysql_query
?
http://docs.php.net/mysql_query说:
的mysql_query()发送一个唯一的查询( 多个查询,不支持)当前激活的数据库与指定link_identifier关联的服务器上。
但你可能会感兴趣的mysqli::multi_query:
执行它们由分号连接起来的一个或多个查询。
您应该使用事务进行查询,这些查询需要以原子方式进行,我怀疑这些查询可能会发生。
这可以使用MySQLi接口,特别是mysqli_multi_query()来完成。 http://ca3.php.net/manual/en/mysqli.multi-query.php
需要注意的是,在使用此功能时,您需要特别小心,因为任何SQL注入攻击都会有更广泛的影响。
'mysql_multi_query()'应该是'mysql * i * _multi_query()',不是吗? – 2010-01-02 16:28:24
是的,谢谢。我至少得到了链接:) – preinheimer 2010-01-02 21:15:33
或者你可以试试这个...
$query1 ="UPDATE name SET money = money + 1;";
$query2 ="UPDATE surname SET money = money + 1";
mysql_query($query1,$query2) or die(mysql_error());
这是行不通的。 mysql_query的第二个参数是'resource',而不是'string'。 – MrLore 2014-07-26 03:48:14
什么是 “水木清华” 是什么意思? – 2010-01-01 16:02:04