sqlite_query
SQLiteDatabase::query
指定したデータベースに対してクエリを実行し、結果ハンドル
を返す
&reftitle.description;
resourcesqlite_query
resourcedbhandle
stringquery
intresult_typeSQLITE_BOTH
stringerror_msg
resourcesqlite_query
stringquery
resourcedbhandle
intresult_typeSQLITE_BOTH
stringerror_msg
&style.oop; (メソッド):
SQLiteResultSQLiteDatabase::query
stringquery
intresult_typeSQLITE_BOTH
stringerror_msg
指定したデータベースにより query で指定した
SQL ステートメントを実行します。
&reftitle.parameters;
dbhandle
SQLite データベースリソース。手続きに従って、
sqlite_open から返されます。
このパラメータは、
オブジェクト指向言語型メソッドを使用する場合は不要です。
query
実行するクエリ
クエリ内のデータは 適切にエスケープ
する必要があります。
result_type
&sqlite.result-type;
error_msg
もしエラーが発生した場合、ここに保存されます。SQL 構文のエラーは
sqlite_last_error 関数で取得することが
できないため、このパラメータが特に重要となります。
&sqlite.param-compat;
&reftitle.returnvalues;
この関数は結果ハンドルを返します。&return.falseforfailure;。
レコードを返すクエリの場合、結果ハンドルは
sqlite_fetch_array や
sqlite_seek のような関数で使用することができます。
クエリの型によらず、この関数はクエリが失敗した場合に&false; を返し
ます。
sqlite_query は、バッファリングされ、シーク可
能な結果ハンドルを返します。これは、レコードにランダムにアクセスす
る必要がある小さなクエリの場合に有用です。バッファリングされた結果
ハンドルは、結果全体を保持するためのメモリを確保し、結果が取得され
るまでは値を返しません。
データに連続的にアクセスしたい場合、かわりにより高性能な
sqlite_unbuffered_query を使用することが
推奨されます。
&reftitle.changelog;
&Version;
&Description;
5.1.0
error_msg パラメータが追加されました。
&reftitle.notes;
SQLiteは、セミコロンで区切られた複数のクエリを実行します。
これにより、ファイルからロードするかスクリプトに埋め込んだ SQL
をバッチ実行することができます。
しかしながら、これは関数の結果が使用されない場合のみ動作します。
使用されない場合、最初の SQL ステートメントのみ実行されます。
関数 sqlite_exec は常に複数の SQL
ステートメントを実行します。
複数のクエリを実行する際、この関数の返り値は、エラーの場合に
&false;となります。しかし、それ以外の場合は不定となります。
(成功した場合に&true;となるか、結果ハンドルを返す可能性があります)
&reftitle.seealso;
sqlite_unbuffered_query
sqlite_array_query