Forum und email


(PHP 5)


(no version information, might be only in CVS)

SQLiteDatabase->query -- Executes a query against a given database and returns a result handle


resource sqlite_query ( resource dbhandle, string query [, int result_type [, string &error_msg]] )

resource sqlite_query ( string query, resource dbhandle [, int result_type [, string &error_msg]] )

Object oriented style (method):

class SQLiteDatabase {

SQLiteResult query ( string query [, int result_type [, string &error_msg]] )


Executes an SQL statement given by the query against a given database handle.

Seznam parametrů


The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.


The query to be executed.


Nepovinný parametr result_type přijímá konstantu a určuje, jak bude indexováno vrácené pole. Konstanta SQLITE_ASSOC způsobí vracení pouze asociativních indexů (pojmenované prvky), kdežto SQLITE_NUM znamená vracení jen numerických indexů. Hodnota SQLITE_BOTH způsobí, že budou použity obě formy indexace. Výchozí hodnota pro tuto funkci je SQLITE_BOTH.


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.

Poznámka: Pro kompatibilitu s jinými databázovými rozšířeními (např. MySQL) jsou podporovány dvě alternativní syntaxe. Preferována je první z nich, kde parametr dbhandle je prvním parametrem funkce.

Návratové hodnoty

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() 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.

ChangeLog (záznam změn)

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).