原来,您需要使用
PDOStatement::nextRowset。
$stmt = $db->query("SELECT 1; SELECT 2;");$stmt->nextRowset();var_dump( $stmt->fetchAll(PDO::FETCH_ASSOC) );这将返回第二个查询的结果。
这是一个有点奇怪的实现。如果多查询语句仅将两个结果集返回在一个数组下,那肯定会更容易。但是,优点是此实现允许使用不同的FETCH样式获取每个查询。

原来,您需要使用
PDOStatement::nextRowset。
$stmt = $db->query("SELECT 1; SELECT 2;");$stmt->nextRowset();var_dump( $stmt->fetchAll(PDO::FETCH_ASSOC) );这将返回第二个查询的结果。
这是一个有点奇怪的实现。如果多查询语句仅将两个结果集返回在一个数组下,那肯定会更容易。但是,优点是此实现允许使用不同的FETCH样式获取每个查询。