PHP Conference Japan 2024

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object返回一个对象,其属性表示已提取行中的列

描述

db2_fetch_object(资源 $stmt, 整数 $row_number = -1): stdClass|false

返回一个对象,其中每个属性都表示从结果集中提取的行中返回的一列。

参数

stmt

包含结果集的有效 stmt 资源。

row_number

请求结果集中特定的一行(从 1 开始索引)。如果结果集使用仅向前游标,则传递此参数会导致 PHP 警告。

返回值

返回一个表示结果集中单行的对象。对象的属性映射到结果集中列的名称。

IBM DB2、Cloudscape 和 Apache Derby 数据库服务器通常将列名折叠为大写,因此对象属性将反映该大小写。

如果您的 SELECT 语句调用标量函数来修改列的值,则数据库服务器将返回列号作为结果集中列的名称。如果您希望使用更具描述性的列名和对象属性,则可以使用 AS 子句为结果集中的列分配名称。

如果未检索到任何行,则返回 false

示例

示例 #1 db2_fetch_object() 示例

以下示例发出一个带有标量函数 RTRIM 的 SELECT 语句,该函数删除列末尾的空格。与其创建具有“BREED”和“2”属性的对象,不如在 SELECT 语句中使用 AS 子句为修改后的列分配名称“name”。数据库服务器将列名折叠为大写,从而生成一个具有“BREED”和“NAME”属性的对象。

<?php
$conn
= db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
FROM animals
WHERE id = ?"
;

if (
$conn) {
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(0));

while (
$pet = db2_fetch_object($stmt)) {
echo
"过来, {$pet->NAME},我的小 {$pet->BREED}!";
}
db2_close($conn);
}
?>

以上示例将输出

Come here, Pook, my little cat!

参见

  • db2_fetch_array() - 返回一个数组,该数组按列位置索引,表示结果集中的行
  • db2_fetch_assoc() - 返回一个数组,该数组按列名索引,表示结果集中的行
  • db2_fetch_both() - 返回一个数组,该数组按列名和位置索引,表示结果集中的行
  • db2_fetch_row() - 将结果集指针设置为下一行或请求的行
  • db2_result() - 返回结果集行中的一列

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top