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
}
?>
sqlite_array_query
(PHP 5, PECL sqlite:1.0-1.0.3)
sqlite_array_query — Выполняет запрос к базе данных и возвращает результат в виде массива
Описание
Использование 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_query(), sqlite_fetch_array() и sqlite_fetch_string()
sqlite_array_query
18-Apr-2005 04:21
