Mysql一次不能执行多于1个查询

时间:2009-12-21 21:35:26

标签: php sql mysql

当我这样做时:

$q = 'insert into movies values("lion king"); select * from movies;';
$result = $db->query($q);
echo mysqli_num_rows($result);

它说$ result是boolean,而不是mysqli结果。 如果我像这样检查$ result:

if(!$result) echo 'fail';

输出'fail'。

mysql一次无法处理多个查询吗?我该如何解决这个问题?

5 个答案:

答案 0 :(得分:7)

您需要使用mysqli::multi_query

答案 1 :(得分:3)

$db->query('insert into movies values("lion king");');
$db->query('select * from movies;');

答案 2 :(得分:0)

$q = 'insert into movies values("lion king")';
$result = $db->query($q);
$q = 'select * from movies';
$result = $db->query($q);
echo mysqli_num_rows($result);

答案 3 :(得分:0)

您可以使用难以使用的multi_query,但通常不会,您一次只能使用一个查询。

答案 4 :(得分:0)

不要混淆在MySQL命令行界面中编写“查询”的方式与使用API​​的方式。

MySQL命令只是将API包装成更像shell的东西。

使用API​​,您实际上一次只能执行一个查询。当然,API 的客户端可以做一些聪明的事情并解释分号,为你分成多个查询,但这对于足够多的人来说可能没那么有用。