PHP マニュアル
前のページ |  | 次のページ

# 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`を返します。

例 1. SESAM 取得配列

`<?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() も参照下さい。

前のページ | ホーム | 次のページ
sesam_execimm | 上に戻る | sesam_fetch_result