(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_query -- SQLiteDatabase::query — Esegue una query su un database e restituisce un puntatore al set di risultati
$dbhandle
, string $query
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] )$query
, resource $dbhandle
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] )Stile orientato agli oggetti (metodo):
$query
[, int $result_type
= SQLITE_BOTH
[, string &$error_msg
]] )
Esegue le istruzioni SQL indicate in query
sul collegamento
al database dato.
dbhandle
Risorsa SQLite Database; restituita da sqlite_open () quando usato in modo procedurale. Questo parametro non è richiesto nel metodo ad oggetti.
query
La query da eseguire.
I dati all'interno della query devono essere passati da una funzione che effettua l'escape.
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.
error_msg
La variabile specificata sarà riempita se si verifica un errore. Questo è molto importante perché gli errori di sintassi SQL non possono essere recuperati utilizzando la funzione sqlite_last_error().
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.
Questa funzione restituisce un handle o FALSE
in caso di fallimento.
Nei casi di query che restituiscano delle righe, l'handle restituito dalla funzione
può essere utilizzato nelle funzioni sqlite_fetch_array() e
sqlite_seek().
A prescindere dal tipo di query, questa funzione restituisce FALSE
se la
query fallisce.
sqlite_query() restituisce un puntatore ad un set di risultati bufferizzato e navigabile. Ciò è ragionevole per piccole query dove si ha la necessità di accedere alle righe in ordine casuale. I risultati bufferizzati allocano la memoria necessaria per contenere tutte le righe restituite dalla query, che non saranno restituite fino a che non saranno richieste. Se si ha soltanto la necessità di accedere alle righe in modo sequenziale, si raccomanda l'uso della funzione sqlite_unbuffered_query() che ha delle performance ampiamente migliori.
Versione | Descrizione |
---|---|
5.1.0 |
Aggiunto il parametro error_msg
|
SQLite esegue molteplici query separate da punto e virgola, pertanto si possono eseguire dei batch SQL che possono essere caricati da file esterni o inseriti nello script. Tuttavia ciò è valido solo quando non è utilizzato il risultato della funzione - se, al contrario, viene utilizzato, verrà eseguita solo la prima query. La funzione sqlite_exec() esegue sempre molteplici query SQL.
Quando si eseguono query molteplici, il valore restituito può essere
FALSE
se vi è un errore, oppure indefinito in caso contrario (
può essere TRUE
oppure può restituire un handle ad un set di risultati).