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

Descrierea

array 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 ]] )

Stil obiect-orientat (method):

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

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.

Sfat

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.

Parametri

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

Parametrul opțional result_type acceptă o constantă și determină cum tablouul întors va fi indexat. Utilizând SQLITE_ASSOC vor fi întorși numai indici asociativi (câmpuri denumite) în timp ce cu SQLITE_NUM vor fi întorși numai indici numerici (numerele de ordine ale câmpurilor). Cu SQLITE_BOTH vor fi întorși atât indici associativi, cât și numerici. SQLITE_BOTH este valoarea implicită pentru această funcție.

decode_binary

Când parametrul decode_binary este stabilit în TRUE (implicit), PHP va decodifica codificarea binară pe care a aplicat-o asupra datelor, dacă acestea au fost codificate cu sqlite_escape_string (). În mod normal ar trebui să lăsați valoarea implicită, dacă nu interoperați cu baze de date create de alte aplicații capabile să lucreze cu sqlite.

Notă: Două sintaxe alternative sunt susținute pentru compatibilitate cu alte extensii de baze de date (cum ar fi MySQL). Forma preferată este cea dintâi, unde parametrul dbhandle este primul parametru pentru funcție.

Valorile întoarse

Returns an array of the entire result set; FALSE otherwise.

În denumirile coloanelor întoarse de SQLITE_ASSOC și SQLITE_BOTH vor fi utilizate litere majuscule/minuscule în corespundere cu valoarea opțiunii de configurare sqlite.assoc_case.

Exemple

Example #1 Stil procedural

<?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'];
}
?>

Example #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'];
}
?>

Vedeți de asemenea

add a note add a note

User Contributed Notes 1 note

up
1
kendlj at NOSPAM dot web dot de
9 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