首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一条语句中执行多个select查询?

如何在一条语句中执行多个select查询?
EN

Stack Overflow用户
提问于 2014-06-04 02:52:27
回答 1查看 2.1K关注 0票数 2

我正在尝试使用php在一个查询中执行mysql中的许多select语句。

代码语言:javascript
复制
select * from clients;
select * from users;
select * from products;

Mysql工作台仅返回最后一条sql语句的记录。我的PHP代码是

代码语言:javascript
复制
$query = "select * from table1;select * from table2;" 
$result = $pdo->prepare($query);
$result->execute();
$rows = $result->fetchAll(PDO::FETCH_NAMED);

我得到了错误

代码语言:javascript
复制
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并动态构建响应。

EN

回答 1

Stack Overflow用户

发布于 2014-06-04 03:18:41

试试mysqli::multi_query

http://www.php.net/manual/en/mysqli.multi-query.php

我使用它来上传预生成的转储文件,所以它只是CREATE TABLEINSERT语句,但手册上说SELECT在两个方面都工作得很好。

我确信PDO扩展也有同样的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24022768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档