( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_fetch_array — 1 行分の結果を配列に取得する
$result
[, int $result_type
] )この関数は、 ingres_fetch_row() の拡張版です。 結果として返される配列の数値添字にデータを保存するだけでなく、 フィールド名をキーとして連想配列にもデータが保存されます。
結果において複数のカラムが同じフィールド名を有している場合、後の カラムが優先されます。同名の他のカラムにアクセスするには、カラムの 添字番号を使用するか、カラムのエイリアスを作成する必要があります。
<?php
$result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$result = ingres_fetch_array($result);
$foo = $result["city"];
$bar = $result["country"];
?>
速度面では、この関数は ingres_fetch_object() と同じで、 ingres_fetch_row() とほぼ同等です (差は僅かです)。
デフォルトでは、 ingres_fetch_array() が作成する配列のインデックスは 1 から始まります。これは、 他の DBMS の拡張モジュールが 0 から始めるのと異なっています。 他と同様に 0 から始めるようにするには、設定パラメータ ingres.array_index_start を使用します。
注意: 関連する設定項目
実行時設定 の ingres.array_index_start, ingres.fetch_buffer_size および ingres.utf8 ディレクティブも参照ください。
result
クエリ結果 ID。
result_type
result_type
には、数値添字の場合に
INGRES_NUM
、連想配列の場合に INGRES_ASSOC
、両方の場合に
INGRES_BOTH
(デフォルト)を指定可能です。
取得したレコード(行)に対応する配列を返します。
レコードがもうない場合は FALSE
を返します。
例1 配列への結果の行の取得
<?php
$link = ingres_connect($database, $user, $password);
$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_array($result)) {
echo $row["user_id"]; // 連想配列を使用する
echo $row["fullname"];
echo $row[1]; // 数値添字配列を使用する
echo $row[2];
}
?>