(PECL ibm_db2 >= 1.0.0)
db2_fetch_assoc — 返回一个数组,按列名索引,表示结果集中的行
stmt
一个有效的 stmt
资源,包含一个结果集。
row_number
请求结果集中特定 1 索引行。如果结果集使用只向前游标,则传递此参数会导致 PHP 警告。
返回一个关联数组,其中列值按列名索引,表示结果集中下一行或请求的行。如果结果集中没有剩余行,或者 row_number
请求的行在结果集中不存在,则返回 false
。
示例 #1 遍历只向前游标
如果在没有指定行号的情况下调用 db2_fetch_assoc(),它会自动检索结果集中的下一行。
<?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