如何在PHP中同时执行多个mysql查询?
我想要一个选择查询和一个插入查询,我想要使用函数(mysql\u query)一起执行它们,但它不起作用。 我打算做这样的事情:如何在PHP中同时执行多个mysql查询?,php,mysql,sql,Php,Mysql,Sql,我想要一个选择查询和一个插入查询,我想要使用函数(mysql\u query)一起执行它们,但它不起作用。 我打算做这样的事情: $sql="select * from texts; insert into date ('time') values ('2012');"; mysql_query($sql); 有什么办法吗?MySQL不允许在一条语句中传递多个select查询。MySQL\u query()发送一个唯一的查询(不支持多个查询)。 这是默认的行为。但是有一个旁路 但是,如果执行此
$sql="select * from texts; insert into date ('time') values ('2012');";
mysql_query($sql);
有什么办法吗?MySQL不允许在一条语句中传递多个select查询。
MySQL\u query()
发送一个唯一的查询(不支持多个查询)。
这是默认的行为。但是有一个旁路
但是,如果执行此操作,第一次查询的结果代码将作为mysql\u query()
的输出
您只需将标志65536作为mysql_connect的第5个参数传递。该标志在中定义
因此,编辑您的mysql\u connect()
代码以匹配以下内容:
mysql_connect($host, $username, $password, false, 65536);
警告:
$query
中的第一个查询,您将获得mysql\u query($query)
的结果。您可以尝试将131072
与65536
串联,以获得多个结果sql.safe_mode
设置为1,则此操作将不起作用另一种选择是使用
mysqli
而不是mysql
库。它支持$mysqli->multi\u query()
,并在数组中为每个查询提供输出。mysql\u query()
不支持以正常方式执行多个查询。
使用下面的方法
<?php
$str="query1;query2;"; // say $str="select * from texts; insert into date ('time') values ('2012');";
$query = explode(';',$str);
// Run the queries
foreach($query as $index => $sql)
{
$result = mysql_query($sql);
// Perform an additional operations here
}
?>
没有一个mysql api可以同时处理多个查询,即使是mysql控制台实用程序也会解析您的输入并执行一个又一个查询,而php的mysql_查询则不能。您可以编写自己的函数来执行此操作,也可以将所有查询放在一个数组中,并对循环中的每个元素执行mysql\u查询。您可以使用mysqli\u multi\u查询函数,但需要使用PHP mysqli扩展。(我建议您使用mysqli而不是PHP的mysql扩展,因为它包含更多的功能和设施)
mysql\u query()
发送一个唯一的查询
看
对于多个查询,您可以看到我认为没有这种类型的查询。。。但如果有,请让我知道:)@caesar,您希望输出什么?。“文本”的元组或插入的状态
mysql\u query()
不支持执行多个查询。您可以尝试使用INSERT。。。选择mysql的特性。完整文档您可以执行2个查询,因为它们似乎不相关。。。您还可以创建一个执行插入和选择的过程。哦,是您吗:)哈哈,对我来说这是一个新信息(65536)
<?php
$str="query1;query2;"; // say $str="select * from texts; insert into date ('time') values ('2012');";
$query = explode(';',$str);
// Run the queries
foreach($query as $index => $sql)
{
$result = mysql_query($sql);
// Perform an additional operations here
}
?>