sqlite_unbuffered_query

SQLiteDatabase::unbufferedQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query -- SQLiteDatabase::unbufferedQuery 事前取得していないクエリを実行し、全てのデータをバッファリングする

説明

sqlite_unbuffered_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] ) : resource
sqlite_unbuffered_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] ) : resource

オブジェクト指向型 (メソッド):

public SQLiteDatabase::unbufferedQuery ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] ) : SQLiteUnbuffered

sqlite_unbuffered_query()sqlite_query() と同じですが、 連続的に前方のみにアクセス可能な結果セットが返され、 各レコードを1件ずつ読み込むことだけしかできないところが異なります。

この関数は、一度に1件ずつレコードを処理するだけでよく、ランダムに データをアクセスする必要がない、HTMLテーブルのようなものを生成する のに適しています。

注意:

sqlite_seek(), sqlite_rewind(), sqlite_next(), sqlite_current() および sqlite_num_rows() のような関数は、この関数から返 された結果ハンドルでは動作しません。

パラメータ

dbhandle

SQLite データベースリソース。手続きに従って、 sqlite_open() から返されます。 このパラメータは、 オブジェクト指向言語型メソッドを使用する場合は不要です。

query

実行するクエリ

クエリ内のデータは 適切にエスケープ する必要があります。

result_type

オプションの result_type パラメータには定数を指定でき、返される配列の添字を定義します。 SQLITE_ASSOC を用いると、連想配列の添字(名前フィールド)のみが 返されます。一方、SQLITE_NUM は、 数値の添字(フィールド番号)のみを返します。SQLITE_BOTH は、 連想配列の添字と数値の添字の両方を返します。 SQLITE_BOTH がこの関数のデフォルトです。

error_msg

もしエラーが発生した場合、ここに保存されます。SQL 構文のエラーは sqlite_last_error() 関数で取得することが できないため、このパラメータが特に重要となります。

注意: (MySQL のような)他のデータベースエクステンションとの互換性のため、 2 種類の構文がサポートされています。 推奨されるのは最初の構文で、dbhandle パラメータを 関数の最初のパラメータとするものです。

返り値

結果セットを返します。失敗した場合に FALSE を返します。

sqlite_unbuffered_query() は、 各レコードを順番に読み込む場合にのみ利用可能な シーケンシャルで前進のみ可能な結果セットを返します。

変更履歴

バージョン 説明
5.1.0 error_msg パラメータが追加されました。

参考

  • sqlite_query() - 指定したデータベースに対してクエリを実行し、結果ハンドル を返す