English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_next_result()函数为 mysqli_multi_query() 准备下一个结果集。
mysqli_multi_query() 函数执行之后,为读取下一个结果集做准备,然后可以使用 mysqli_store_result() 或 mysqli_use_result() 函数读取下一个结果集。
mysqli_next_result($con)
序号 | 参数及说明 |
---|---|
1 | con(必需) 这是一个表示与MySQL Server的连接的对象。 |
如果有更多的结果集,mysqli_next_result()函数将返回true;如果没有更多的结果集,或者如果下一个查询有错误,则返回false。
此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
以下示例演示了mysqli_next_result()函数的用法(面向过程风格)-
<?php //Установление соединения $con = mysqli_connect("localhost", "root", "password", "test"); //Выполнение нескольких запросов $query = "SELECT * FROM players;SELECT * FROM emp;SELECT * FROM tutorials"; $res = mysqli_multi_query($con, $query); $count = 0; if ($res) { do { $count = $count+1; mysqli_use_result($con); } while (mysqli_next_result($con)); } print("Количество наборов данных: ".$count); mysqli_close($con); ?>
Результат вывода
Количество наборов данных: 3
在面向对象的样式中,此函数的语法为$con->next_result();。以下是面向对象样式函数的示例;
<?php $con = new mysqli("localhost", "root", "password", "test"); //Множественный запрос $res = $con->multi_query("SELECT * FROM players;SELECT * FROM emp;SELECT * FROM tutorials"); $count = 0; if ($res) { do { $count = $count+1; $con-> use_result(); } while ($con->next_result()); } print("Количество наборов данных: ".$count); //Закрытие соединения $res = $con -> close(); ?>
Результат вывода
Количество наборов данных: 3
Следующий пример检索多个 запросов всех результатов наборов данных
//Установление соединения $con = mysqli_connect("localhost", "root", "password", "test"); //Выполнение нескольких запросов $query = "SELECT * FROM players;SELECT * FROM emp"; $res = mysqli_multi_query($con, $query); if ($res) { do { if ($result = mysqli_use_result($con)) { while ($row = mysqli_fetch_row($result)) { print("Имя: ".$row[0]."\n"); print("Возраст: ".$row[1]."\n"); } mysqli_free_result($result); } if (mysqli_more_results($con)) { print("\n"); } } while (mysqli_next_result($con)); } mysqli_close($con);
Результат вывода
Имя: Dhavan Возраст: 33 Имя: Rohit Возраст: 28 Имя: Kohli Возраст: 25 Имя: Raju Возраст: 25 Имя: Rahman Возраст: 30 Имя: Ramani Возраст: 22