sqlite_array_query

SQLiteDatabase::arrayQuery

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

sqlite_array_query -- SQLiteDatabase::arrayQueryExecute a query against a given database and returns an array

Opis

sqlite_array_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array
sqlite_array_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

Styl obiektowy (method):

public SQLiteDatabase::arrayQuery ( string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

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.

Wskazówka

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 Styl proceduralny

<?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ż:

add a note add a note

User Contributed Notes 1 note

up
-3
kendlj at NOSPAM dot web dot de
16 years ago
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
}
?>
To Top