PHP 5.5.16 is released

sqlite_array_query

SQLiteDatabase::arrayQuery

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

sqlite_array_query -- SQLiteDatabase::arrayQueryEsegue una query in un dato database e restituisce una matrice

Descrizione

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

Stile orientato agli oggetti (metodo):

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

sqlite_array_query() esegue una data query e restituisce un array con l'intero set di risultati. E' simile a sqlite_query() e a eseguire sqlite_fetch_array() per ogni riga. sqlite_array_query() è significativamente più veloce.

Suggerimento

Le migliori performance con sqlite_array_query() si ottengono con query che restituiscono fino a 45 righe. Se si hanno invece più dati, si raccomanda di scrivere una propria funzione e di utilizzare sqlite_unbuffered_query() per performance migliori.

Elenco dei parametri

query

Query da eseguire.

I dati all'interno delle query devono essere propriamente modificati con una funzione di escape.

dbhandle

Risorsa SQLite Database; restituita da sqlite_open () quando usato in modo procedurale. Questo parametro non è richiesto nel metodo ad oggetti.

result_type

Il parametro opzionale result_type accetta una costante e determina come l'array restituito sarà indicizzato. Usando SQLITE_ASSOC restituirà solo indici associativi (campi nominali) mentre SQLITE_NUM restituirà solo indici numerici (campi numerici ordinali). SQLITE_BOTH restituirà sia gli indici associativi che numerici. SQLITE_BOTH è il default per questa funzione.

decode_binary

Quando decode_binary è impostato a TRUE (per default), il PHP decodificherà i dati binari se questi furono codificati con la funzione sqlite_escape_string(). Normalmente si dovrebbe lasciare inalterato il comportamento di default, a meno che non si debba intervenire su database creati da altre applicazioni SQLite.

Nota: Due sintassi alternative sono supportate per compatibilità con altre estensioni di database (come MySQL). La forma preferita è la prima, dove il parametro dbhandle è il primo parametro per la funzione.

Valori restituiti

Restituisce un array contenente tutti i risultati; oppure FALSE.

I nomi delle colonne restituiti da SQLITE_ASSOC e da SQLITE_BOTH saranno maiuscoli o minuscoli in base al valore del parametro di configurazione sqlite.assoc_case .

Esempi

Example #1 Stile procedurale

<?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 Stile ad oggetti

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

Vedere anche:

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