当前位置:首页 > PHP教程 > php应用 > 列表

PHP PDOStatement::nextRowset讲解

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-06 21:07:08 浏览: 评论:0 

今天小编就为大家分享一篇关于PHP PDOStatement::nextRowset讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。

PDOStatement::nextRowset

PDOStatement::nextRowset — 在一个多行集语句句柄中推进到下一个行集(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

说明

语法

bool PDOStatement::nextRowset ( void )

一些数据库服务支持返回一个以上行集(也被称为结果集)的存储过程。

PDOStatement::nextRowset()使你能够结合一个 PDOStatement 对象访问第二个以及后续的行集。上述的每个行集可以有不同的列集合。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例

获取由一个存储过程返回的多个行集

下面例子展示了怎样调用一个存储过程,返回三个行集的 MULTIPLE_ROWSETS 。用一个 do / while 循环来循环调用 PDOStatement::nextRowset()方法, 当不再有行集返回时返回 false 并结束循环。

  1. <?php 
  2. $sql = 'CALL multiple_rowsets()'
  3. $stmt = $conn->query($sql); 
  4. $i = 1; 
  5. do { 
  6.   $rowset = $stmt->fetchAll(PDO::FETCH_NUM); 
  7.   if ($rowset) { 
  8.     printResultSet($rowset$i); 
  9.   } 
  10.   $i++; 
  11. while ($stmt->nextRowset()); 
  12. function printResultSet(&$rowset$i) { 
  13.   print "Result set $i:\n"
  14.   foreach ($rowset as $row) { 
  15.     foreach ($row as $col) { 
  16.       print $col . "\t"
  17.     } 
  18.     print "\n"
  19.   } 
  20.   print "\n"
  21. ?> 

以上实例输出:

  1. Result set 1: 
  2. apple    red 
  3. banana   yellow 
  4. Result set 2: 
  5. orange   orange    150 
  6. banana   yellow    175 
  7. Result set 3: 
  8. lime     green 
  9. apple    red 
  10. banana   yellow

Tags: PDOStatement nextRowset

分享到: