db2_fetch_array
db2_fetch_both
IBM DB2 関数
PHP Manual

# db2_fetch_assoc

(PECL ibm_db2:1.0-1.6.2)

db2_fetch_assoc — 結果セット内の行を表す、カラム名をインデックスとする配列を返す

### 説明

array db2_fetch_assoc ( resource `$stmt` [, int `$row_number` ] )

結果セット内の行を表す、カラム名をインデックスとする配列を返します。

### パラメータ

`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() をコールすることができます。 次の例は、結果セットの 2 行目から始めて 1 行おきにデータを取得します。

`<?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()

db2_fetch_array
db2_fetch_both
IBM DB2 関数
PHP Manual