PHP mysqli fetch_all() 函数

定义和用法

fetch_all() / mysqli_fetch_all() 函数获取所有结果行,并将结果集作为关联数组、数字数组或两者返回。

注意:此函数仅适用于 MySQL 原生驱动。

实例

例子 1 - 面向对象风格

获取所有行并将结果集作为关联数组返回:

<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";
$result = $mysqli -> query($sql);

// 获取所有行
$result -> fetch_all(MYSQLI_ASSOC);

// 释放结果集
$result -> free_result();

$mysqli -> close();
?>

例子 2 - 过程式风格

获取所有行并将结果集作为关联数组返回:

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
} 

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";
$result = mysqli_query($con, $sql);

// 获取所有行
mysqli_fetch_all($result, MYSQLI_ASSOC);

// 释放结果集
mysqli_free_result($result);

mysqli_close($con);
?>

语法

面向对象风格:

$mysqli_result -> fetch_all(resulttype)

过程式风格:

mysqli_fetch_all(result, resulttype)
参数 描述
result 必需。指定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的结果集标识符。
resulttype

可选。指定应生成的数组类型。可以是以下值之一:

  • MYSQLI_ASSOC
  • MYSQLI_NUM(默认值)
  • MYSQLI_BOTH

技术细节

返回值: 返回包含结果行的关联数组或数字数组的数组。
PHP 版本: 5.3+