sqlite_array_query

(PHP 5)

sqlite_array_query --  Выполняет запрос к базе данных и возвращает результат в виде массива

Описание

array sqlite_array_query ( resource dbhandle, string query [, int result_type [, bool decode_binary]] )

array sqlite_array_query ( string query, resource dbhandle [, int result_type [, bool decode_binary]] )

Использование sqlite_array_query() идентично использованию sqlite_query() с последующим вызовом sqlite_fetch_array() для каждой записи результата запроса с сохранением записей в массиве, как показано в приведенном ниже примере. sqlite_array_query() выполняется значительно быстрее, чем такой скрипт.

Пример 1. Самостоятельная реализация sqlite_array_query()

<?php
$q
= sqlite_query($dbhandle, "SELECT * from foo LIMIT 100");
$rows = array();
while (
$r = sqlite_fetch_array($q)) {
  
$rows[] = $r;
}
?>

Подсказка: sqlite_array_query() наилучшим образом подходит для запросов, возвращающих до 45 записей. Для запросов, возвращающих большие наборы записей, оптимальным с точки зрения быстродействия является использование функции sqlite_unbuffered_query().



sqlite_array_query
kendlj at NOSPAM dot web dot de
18-Apr-2005 04:21
Do not use this code, whenever you may get no result:

<?
$return_data
=@sqlite_array_query($query,$databaseHandle);
if(!
$return_data)
{
  
//Errorhandling code
  
die( sqlite_error_string( sqlite_last_error($this->databaseHandle) ) );
}
?>

It will execute the Errorhandling code although there is no error, cause if there is nothing found, sqlite_array_query returns an empty array, which is interpreted as 'false' here.
You will get an Message like:
'not an error'

Instead use:

<?
$return_data
=@sqlite_array_query($query,$databaseHandle);
if(
$return_data===false)
{
  
//Errorhandling code
}
?>

<SQLitesqlite_busy_timeout>
 Last updated: Tue, 15 Nov 2005