作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 php 在单个查询中执行 mysql 中的多个 select 语句。
select * from clients;
select * from users;
select * from products;
Mysql workbench只返回最后一条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 一样一次执行多个选择查询并获得所有结果?
目前我唯一的解决方法是循环执行单个 sql 并动态构建响应。
最佳答案
尝试mysqli::multi_query
http://www.php.net/manual/en/mysqli.multi-query.php
我用它来上传预生成的转储文件,所以它只有 CREATE TABLE
和 INSERT
语句,但是手册说 SELECT
工作正常两个。
而且我确信 PDO 扩展具有相同的方法。
关于php - 如何在一条语句中执行多个选择查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24022768/
我是一名优秀的程序员,十分优秀!