Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

sesam_fetch_array

(PHP 3 CVS only)

sesam_fetch_array -- 連想配列としてレコードを1件取得

説明

array sesam_fetch_array ( string result_id, int [whence], int [offset])

取得したレコードに対応する配列またはレコードがもうない場合には FALSE を返します。

sesam_fetch_array() は、 sesam_fetch_row() の連想配列版です。データを結 果配列の数値添字に保存する代わりに、データをフィールド名をキーと して連想配列に保存します。

result_id は、 sesam_query() (select 型クエリのみ!)により返さ れた有効な結果IDです。

オプションのwhenceおよび offsetパラメータの有効な値の詳細については、 関数sesam_fetch_row() を参照下さい。

sesam_fetch_array() は、 指定した結果IDが指す結果から1件分のレコードを取得します。レコード は、連想配列として返されます。各結果カラムは、そのカラム(または フィールド)名に等しい連想配列の要素に保存されます。カラム名は、小 文字に変換されます。

フィールド名がないカラム(例えば、数値演算の結果)および空のフィー ルドは、配列に保存されません。また、2つ以上の結果がカラム名に同じ カラム名がある場合、最後のカラムが優先されます。この場合、 sesam_fetch_row()をコールするかそのカラムへの エイリアスを作成して下さい。

SELECT TBL1.COL AS FOO, TBL2.COL AS BAR FROM TBL1, TBL2

特別な処理により"複数フィールド"カラム(もしくは同じカラム名を有す るカラム)を取得することが可能になります。"複数フィールド"の各カラ ムに関して、添字名は、文字列"(n)"を付加することにより構築されます。 ただし、n は複数フィールドのカラムの副添字であり、1から宣言済みの 反復数までの範囲となります。クエリ構文で使用される表記に一致させ るために添字はゼロを基準にしていません。 次のように宣言されているあるカラムの場合、

CREATE TABLE ... ( ... MULTI(3) INT )

個々の"複数フィールド"カラムに関して連想添字は、それぞれ "multi(1)","multi(2)", "multi(3)" になります。

sesam_fetch_array() を続けてコールした場合、結 果集合の次の(スクロール属性に応じて前またはn番目の前/後)レコードま たはレコードがもうない場合に FALSEを返します。

例 1SESAM 取得配列

<?php
$result = sesam_query ("SELECT * FROM phone\n".
                       "  WHERE LASTNAME='".strtoupper($name)."'\n".
                       "  ORDER BY FIRSTNAME", 1);
if (!$result) {
    ... error ...
}
// print the table:
print "<TABLE BORDER>\n";
while (($row = sesam_fetch_array ($result)) && count ($row) > 0) {
    print " <TR>\n";
    print " <TD>".htmlspecialchars ($row["firstname"])."</TD>\n";
    print " <TD>".htmlspecialchars ($row["lastname"])."</TD>\n";
    print " <TD>".htmlspecialchars ($row["phoneno"])."</TD>\n";
    print " </TR>\n";
}
print "</TABLE>\n";
sesam_free_result ($result);
?>

添字配列を返す sesam_fetch_row() も参照下さい。