我正在尝试使用php在一个查询中执行mysql中的许多select语句。
select * from clients;
select * from users;
select * from products;Mysql工作台仅返回最后一条sql语句的记录。我的PHP代码是
$query = "select * from table1;select * from table2;"
$result = $pdo->prepare($query);
$result->execute();
$rows = $result->fetchAll(PDO::FETCH_NAMED);我得到了错误
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other
unbuffered queries are active. Consider using PDOStatement::fetchAll().
Alternatively, if your code is only ever going to run against mysql,
you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
attribute 是否可以像MSSQL那样一次执行多个select查询并获得所有结果?
目前,我唯一的解决方法是循环执行单个sql并动态构建响应。
发布于 2014-06-04 03:18:41
试试mysqli::multi_query
http://www.php.net/manual/en/mysqli.multi-query.php
我使用它来上传预生成的转储文件,所以它只是CREATE TABLE和INSERT语句,但手册上说SELECT在两个方面都工作得很好。
我确信PDO扩展也有同样的方法。
https://stackoverflow.com/questions/24022768
复制相似问题