Executes a query against a given database and returns a result handle (original) (raw)
sqlite_query
SQLiteDatabase::query
(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
Description
sqlite_query ( resource $dbhandle
, string $query
[, int $result_type
= SQLITE_BOTH [, string &$error_msg
]] ) : resource
sqlite_query ( string $query
, resource $dbhandle
[, int $result_type
= SQLITE_BOTH [, string &$error_msg
]] ) : resource
public SQLiteDatabase::query ( string $query
[, int $result_type
= SQLITE_BOTH [, string &$error_msg
]] ) : SQLiteResult
Parameters
dbhandle
The SQLite Database resource; returned fromsqlite_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
The optional result_type
parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC
will return only associative indices (named fields) while SQLITE_NUM
will return only numerical indices (ordinal field numbers). SQLITE_BOTH
will return both associative and numerical indices.SQLITE_BOTH
is the default for this function.
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: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the
dbhandle
parameter is the first parameter to the function.
Return Values
This function will return a result handle or FALSE
on failure. For queries that return rows, the result handle can then be used with functions such as sqlite_fetch_array() andsqlite_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 performancesqlite_unbuffered_query() instead.
Changelog
Version | Description |
---|---|
5.1.0 | Added the error_msg parameter |
Notes
Warning
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. Functionsqlite_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).
See Also
- sqlite_unbuffered_query() - Execute a query that does not prefetch and buffer all data
- sqlite_array_query() - Execute a query against a given database and returns an array