从 PHP 版本 5.3 开始PDO_MYSQL
驱动程序已被替换为有利于PDO_MYSQLND
。它引入了对多个查询的支持。
不过,如果有多个结果集,我不知道如何获得两个结果集SELECT
查询已通过。两个查询都已执行,不可能是第二个查询刚刚被转储。
$db->query("SELECT 1; SELECT 2;")->fetchAll(PDO::FETCH_ASSOC);
Returns:
array(1) {
[0]=>
array(1) {
[1]=>
string(1) "1"
}
}
事实证明你需要使用PDOStatement::nextRowset
.
$stmt = $db->query("SELECT 1; SELECT 2;");
$stmt->nextRowset();
var_dump( $stmt->fetchAll(PDO::FETCH_ASSOC) );
这将返回第二个查询的结果。
这是一个有点奇怪的实现。如果多查询语句只返回一个数组下的两个结果集,那肯定会更容易。然而,优点是这种实现允许使用不同的方式获取每个查询获取样式.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)