PDO::query -- Execută o instrucţiune SQL, care întoarce un set de rezultate ca obiect PDOStatement
Descriere
PDOStatement PDO::query ( string statement )
bool PDO::query ( string statement, int PDO::FETCH_COLUMN, int colno )
bool PDO::query ( string statement, int PDO::FETCH_CLASS, string classname, array ctorargs )
bool PDO::query ( string statement, int PDO::FETCH_INTO, object object )
PDO::query() execută o instrucţiune SQL printr-o singură apelare a funcţiei şi întoarce un set de rezultate (dacă există) ca obiect PDOStatement.
Pentru a lansa o interogare de mai multe ori, obiectul PDOStatement se pregăteşte folosind PDO::prepare(), apoi instrucţiunea poate fi apelată de mai multe ori cu PDOStatement::execute().
Dacă nu se preiau toate datele din setul de rezultate înainte de a lansa următoarea apelare la PDO::query(), apelarea poate eşua. De aceea, înainte de a lansa următoarea apelare către PDO::query(), se apelează PDOStatement::closeCursor() pentru a elibera resursele asociate bazei de date cu obiectul PDOStatement.
Notă: Chiar dacă în documentaţie această funcţie are un singur parametru, i se pot adăuga argumente suplimentare. Acestea vor fi tratate ca şi cum ar fi fost apelat PDOStatement::setFetchMode() pe obiectul obţinut în urma instrucţiunii.
Parametri
statement
Instrucţiunea SQL care va fi pregătită şi executată.
Valori întoarse
PDO::query() întoarce un obiect PDOStatement.
Exemplu. Demonstraţie PDO::query
O caracteristică a PDO::query() este că permite iterarea peste setul de rânduri întors de o instrucţiune SELECT executată cu succes.
<?php
function getFruit($conn) {
$sql = 'SELECT name, colour, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['NAME'] . "\t";
print $row['COLOUR'] . "\t";
print $row['CALORIES'] . "\n";
}
}
?>
Exemplul de mai sus va afişa:
apple red 150
banana yellow 250
kiwi brown 75
lemon yellow 25
orange orange 300
pear green 150
watermelon pink 90