# sqlite_unbuffered_query

# SQLiteDatabase::unbufferedQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query -- SQLiteDatabase::unbufferedQuery — Execute a query that does not prefetch and buffer all data

### 说明

sqlite_unbuffered_query ( resource `$dbhandle` , string `$query` [, int `$result_type` = SQLITE_BOTH [, string `&$error_msg` ]] ) : resource
sqlite_unbuffered_query ( string `$query` , resource `$dbhandle` [, int `$result_type` = SQLITE_BOTH [, string `&$error_msg` ]] ) : resource

面向对象风格 (method):

public SQLiteDatabase::unbufferedQuery ( string `$query` [, int `$result_type` = SQLITE_BOTH [, string `&$error_msg` ]] ) : SQLiteUnbuffered

sqlite_unbuffered_query() is identical to sqlite_query() except that the result that is returned is a sequential forward-only result set that can only be used to read each row, one after the other.

This function is ideal for generating things such as HTML tables where you only need to process one row at a time and don't need to randomly access the row data.

> Note:

> Functions such as sqlite_seek(), sqlite_rewind(), sqlite_next(), sqlite_current(), and sqlite_num_rows() do not work on result handles returned from sqlite_unbuffered_query().

### 参数

`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`。

### 返回值

Returns a result handle 或者在失败时返回 `FALSE`.

sqlite_unbuffered_query() returns a sequential forward-only result set that can only be used to read each row, one after the other.

### 更新日志

版本 | 说明
--- | ---
5.1.0 | Added the `error_msg` parameter

### 参见

- sqlite_query() - Executes a query against a given database and returns a result handle