PHP mysqli_more_results() 函数用法及示例

PHP MySQLi 参考手册

mysqli_more_results()函数检查批量查询中是否还有查询结果

定义和用法

 检查上一次调用 mysqli_multi_query() 函数之后, 是否还有更多的查询结果集。 

语法

mysqli_more_results($con)

参数

序号参数及说明
1

con(必需)

这是一个表示与MySQL Server的连接的对象。

返回值

 如果上一次调用 mysqli_multi_query() 函数之后, 还有更多的结果集可以读取,返回 TRUE,否则返回 FALSE。

PHP版本

此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。

在线示例

以下示例演示了mysqli_more_results()函数的用法(面向过程风格)-

<?php
   //建立连接
   $con = mysqli_connect("localhost", "root", "password", "test");

   //执行多个查询
   $query = "SELECT * FROM players;SELECT * FROM emp";
   mysqli_multi_query($con, $query);

   do{
      $result = mysqli_use_result($con);
      while($row = mysqli_fetch_row($result)){
         print("Name: ".$row[0]."\n");
         print("Age: ".$row[1]."\n");
         print("\n");
      }
      if(mysqli_more_results($con)){
         print("::::::::::::::::::::::::::::::\n");
      }
   }while(mysqli_next_result($con));
   mysqli_close($con);
?>

输出结果

Name: Dhavan
Age: 33

Name: Rohit
Age: 28

Name: Kohli
Age: 25

::::::::::::::::::::::::::::::
Name: Raju
Age: 25

Name: Rahman
Age: 30

Name: Ramani
Age: 22

在线示例

在面向对象的样式中,此函数的语法为$con-> more_results();。以下是面向对象样式中此函数的示例;

<?php
   $con = new mysqli("localhost", "root", "password", "test");

   //多查询
   $res = $con->multi_query("SELECT * FROM players;SELECT * FROM emp");

   do {
      $result = $con->use_result();
      while($row = $result->fetch_row()){
         print("Name: ".$row[0]."\n");
         print("Age: ".$row[1]."\n");
         print("\n");
      }
      if($con->more_results()){
         print("::::::::::::::::::::::::::::::\n");
      }
   } while ($con->next_result());

   //关闭连接
   $res = $con -> close();
?>

输出结果

Name: Dhavan
Age: 33

Name: Rohit
Age: 28

Name: Kohli
Age: 25

::::::::::::::::::::::::::::::
Name: Raju
Age: 25

Name: Rahman
Age: 30

Name: Ramani
Age: 22

PHP MySQLi 参考手册