PHP8 db2_fetch_assoc
(PECL ibm_db2 >= 1.0.0)
db2_fetch_assoc — 返回一个数组,按列名索引,表示结果集中的一行
说明
db2_fetch_assoc(resource $stmt, int $row_number = -1): array|false
返回一个数组,该数组按列名索引,表示结果中的一行 设置。
参数
stmt
包含结果集的有效资源。
stmt
row_number
从结果集中请求特定的 1 索引行。传递这个 参数会导致 PHP 警告,如果结果集使用 只向游标。
返回值
返回一个关联数组,其中包含按列名索引的列值 表示结果集中的下一行或请求的行。如果 结果集中没有剩余的行,或者如果结果集中不存在请求的行。row_number
示例
示例 #1 遍历只进游标
如果调用 db2_fetch_assoc() 而没有特定行 number,它会自动检索结果集中的下一行。
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_assoc($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>
以上示例会输出:
0 Pook cat 3.20 5 Rickety Ride goat 9.70 2 Smarty horse 350.00
示例 #2 从可滚动光标中检索带有 db2_fetch_assoc() 的特定行
如果结果集使用可滚动游标,则可以使用特定行号调用 db2_fetch_assoc()。这 以下示例检索结果集中的每隔一行,从 与第二行。
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
$i = $i + 2;
}
?>
以上示例会输出:
0 Pook cat 3.20 5 Rickety Ride goat 9.70 2 Smarty horse 350.00
参见
- db2_fetch_array() - 返回一个数组,按列位置索引,表示结果集中的一行
- db2_fetch_both() - 返回一个数组,该数组按列名和位置编制索引,表示结果集中的一行
- db2_fetch_object() - 返回一个对象,其属性表示提取行中的列
- db2_fetch_row() - 将结果集指针设置为下一行或请求的行
- db2_result() - 从结果集中的一行返回一列