(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!