(PECL ibm_db2 >= 1.0.0)
db2_fetch_object — 返回一个对象,其属性表示已提取行中的列
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!