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
说明
$dbhandle
,
string $query
[,
int $result_type
= SQLITE_BOTH [,
string &$error_msg
]] ) :
resource
$query
,
resource $dbhandle
[,
int $result_type
= SQLITE_BOTH [,
string &$error_msg
]] ) :
resource
面向对象风格 (method):
$query
[,
int $result_type
= SQLITE_BOTH [,
string &$error_msg
]] ) :
SQLiteResult
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).
参见
- 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