(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_query -- SQLiteDatabase::query — Executes a query against a given database and returns a result handle
$dbhandle
, string $query
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] )$query
, resource $dbhandle
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] )物件導向風格 (method):
$query
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] )
Executes an SQL statement given by the query
against
a given database handle.
dbhandle
The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.
query
The query to be executed.
Data inside the query should be properly escaped.
result_type
可選的 result_type
參數接受一個常數並決定回傳的陣列如何索引。用
SQLITE_ASSOC
只會回傳關聯索引(有名稱欄位)而
SQLITE_NUM
只會回傳數字索引(有序欄位數)。SQLITE_BOTH
會同時回傳關聯和數字索引。
SQLITE_BOTH
是本函式的預設值。
error_msg
The specified variable will be filled if an error occurs. This is specially important because SQL syntax errors can't be fetched using the sqlite_last_error() function.
Note: 為相容其它資料庫(例如 MySQL),支援另兩種替代的語法。推薦用第一種,
dbhandle
參數作為函式的第一個參數。
This function will return a result handle 或者在失敗時回傳 FALSE
.
For queries that return rows, the result handle can then be used with
functions such as sqlite_fetch_array() and
sqlite_seek().
Regardless of the query type, this function will return FALSE
if the
query failed.
sqlite_query() returns a buffered, seekable result handle. This is useful for reasonably small queries where you need to be able to randomly access the rows. Buffered result handles will allocate memory to hold the entire result and will not return until it has been fetched. If you only need sequential access to the data, it is recommended that you use the much higher performance sqlite_unbuffered_query() instead.
版本 | 說明 |
---|---|
5.1.0 |
Added the error_msg parameter
|
SQLite will execute multiple queries separated by semicolons, so you can use it to execute a batch of SQL that you have loaded from a file or have embedded in a script. However, this works only when the result of the function is not used - if it is used, only the first SQL statement would be executed. Function sqlite_exec() will always execute multiple SQL statements.
When executing multiple queries, the return value of this function
will be FALSE
if there was an error, but undefined otherwise (it might
be TRUE
for success or it might return a result handle).