PHP mysqli fetch_object() 函数

定义和用法

fetch_object() / mysqli_fetch_object() 函数以对象的形式返回结果集中的当前行。

注意:从该函数返回的字段名是区分大小写的。

实例

例子 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";

if ($result = $mysqli -> query($sql)) {
  while ($obj = $result -> fetch_object()) {
    printf("%s (%s)\n", $obj->Lastname, $obj->Age);
  }
  $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";

if ($result = mysqli_query($con, $sql)) {
  while ($obj = mysqli_fetch_object($result)) {
    printf("%s (%s)\n", $obj->Lastname, $obj->Age);
  }
  mysqli_free_result($result);
}

mysqli_close($con);
?>

语法

面向对象风格:

$mysqli_result -> fetch_object(classname, params)

过程式风格:

mysqli_fetch_object(result, classname, params)
参数 描述
result 必需。指定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的结果集标识符。
classname 可选。指定要实例化、设置属性并返回的类的名称。
params 可选。指定传递给 classname 对象构造函数的参数数组。

技术细节

返回值:

返回具有获取行的字符串属性的对象。

如果结果集中没有更多行,则返回 NULL。

PHP 版本: 5+
PHP 更新日志: 在 PHP 5.0.0 中添加了以不同对象返回的功能。