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
SQLiteDatabase->arrayQuery
(PHP 5, PECL sqlite >= 1.0.0)
sqlite_array_query -- SQLiteDatabase->arrayQuery — Execute a query against a given database and returns an array
Opis
Object oriented style (method):
sqlite_array_query() executes the given query and returns an array of the entire result set. It is similar to calling sqlite_query() and then sqlite_fetch_array() for each row in the result set. sqlite_array_query() is significantly faster than the aforementioned.
sqlite_array_query() is best suited to queries returning 45 rows or less. If you have more data than that, it is recommended that you write your scripts to use sqlite_unbuffered_query() instead for more optimal performance.
Parametry
- query
-
The query to be executed.
Data inside the query should be properly escaped.
- dbhandle
-
The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.
- result_type
-
Opcjonalny parametr result_type przyjmuje wartości stałych i określa jak indeksowane będą zwracane wartości. Używając SQLITE_ASSOC zwrócone zostaną tylko indeksy asocjacyjne (nazwy pól), podczas gdy SQLITE_NUM zwróci tylko indeksy numeryczne (numery pól). SQLITE_BOTH zwróci i indeksy asocjacyjne i numeryczne. SQLITE_BOTH jest domyślną wartością dla tej funkcji.
- decode_binary
-
Gdy parametr decode_binary zostanie ustawiony na TRUE (domyślnie), PHP zdekoduje kodowanie binarne, któremu zostały poddane dane, jeśli były kodowane przy użyciu funkcji sqlite_escape_string(). Zazwyczaj należy pozostawić domyślną wartość tego parametru, chyba że baza jest współużytkowana przez różne aplikacje.
Informacja: Obsługiwane są dwie alternatywne składnie, dla zachowania kompatybilności z rozszerzeniami dla innych baz danych (takich jak MySQL). Preferowana jest pierwsza, gdzie dbhandle jest pierwszym parametrem funkcji.
Zwracane wartości
Returns an array of the entire result set; FALSE otherwise.
Wielkość liter w nazwach kolumn zwróconych przez SQLITE_ASSOC i SQLITE_BOTH zostaną przetworzone zależnie od ustawienia opcji konfiguracji sqlite.assoc_case.
Przykłady
Przykład #1 Procedural style
<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Name: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>
Przykład #2 Object-oriented style
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Name: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>
Zobacz też:
- sqlite_query() - Executes a query against a given database and returns a result handle
- sqlite_fetch_array() - Fetches the next row from a result set as an array
- sqlite_fetch_string() - Alias dla sqlite_fetch_single
sqlite_array_query
18-Apr-2005 11:21
