db2_fetch_row
結果セットポインタを次の行あるいは要求された行に設定する
&reftitle.description;
booldb2_fetch_row
resourcestmt
introw_number-1
db2_fetch_row を使用して結果セットを順に処理します。
あるいは、スクロール可能なカーソルを使用している場合は
指定した行を指すようにします。
結果セットから個々のフィールドを取得するには
db2_result 関数をコールします。
db2_fetch_row および
db2_result をコールするのではなく、
ほとんどのアプリケーションでは
db2_fetch_assoc、db2_fetch_both、
および db2_fetch_array のいずれかをコールするでしょう。
これらは、結果セットのポインタを前に進めたうえで行の内容を配列として取得します。
&reftitle.parameters;
stmt
有効な stmt リソース。
row_number
スクロール可能なカーソルの場合に、結果セットの行番号を指定します。
行番号は 1 から始まります。
&reftitle.returnvalues;
結果セットに指定した行が存在する場合に &true;、存在しない場合に
&false; を返します。
&reftitle.examples;
結果セットを順に処理する
次の例では、db2_fetch_row
を使用して結果セットを順に処理し、db2_result
で結果セットからカラムを取得する方法を示します。
]]>
&example.outputs;
i5/OS recommended alternatives to db2_fetch_row/db2_result
i5/OS では、db2_fetch_row/db2_result
ではなく db2_fetch_both、
db2_fetch_array あるいは db2_fetch_object
を使用することを推奨します。一般に
db2_fetch_row/db2_result は、さまざまなカラム型で
EBCIDIC から ASCII への変換の際に問題が発生します。
DBCS アプリケーションではデータが切り捨てられてしまう可能性もあります。
また、パフォーマンス面でも db2_fetch_both、
db2_fetch_array および db2_fetch_object
は db2_fetch_row/db2_result
よりすぐれています。
DB2_SCROLLABLE));
while ($row = db2_fetch_both($stmt)){
echo "
db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
}
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while ($row = db2_fetch_array($stmt)){
echo "
db2_fetch_array {$row[1]} {$row[5]}";
}
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while ($row = db2_fetch_object($stmt)){
echo "
db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
}
db2_close($conn);
?>
]]>
&example.outputs;
&reftitle.seealso;
db2_fetch_array
db2_fetch_assoc
db2_fetch_both
db2_fetch_object
db2_result