(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
PDO::query — Bir SQL deyimini çalıştırıp sonucu bir PDOStatement nesnesi olarak döndürür
Bir SQL deyimini tek bir işlev çağrısında çalıştırır ve sorgu sonucunu (bir sonuç varsa) bir PDOStatement nesnesi olarak döndürür.
Defalarca yineleyeceğiniz bir sorguyu PDO::prepare() yöntemini kullanarak bir PDOStatement nesnesi haline getirip bunu PDOStatement::execute() ile defalarca çalıştırmak başarımı arttıracaktır.
Tekrar bir PDO::query() çağrısı yapmadan önce sonuç kümesindeki veriyi almazsanız çağrınız başarısızlıkla sonuçlanabilir. Yeni bir PDO::query() çağrısını yapmadan önce PDOStatement nesnesi ile ilişkilendirilmiş kaynakları serbest bırakmak için PDOStatement::closeCursor() çağrısı yapmalısınız.
Bilginize:
Bu işlev, tek bir değiştirgeye sahipmiş gibi belgelendirilmesine rağmen işleve başka değiştirgeler de aktarabilirsiniz. Bunlar, sonuç nesnesi üzerinde PDOStatement::setFetchMode() çağrısı yapılmış gibi ele alınırlar.
Hazırlanacak ve çalıştırılacak SQL deyimi.
Sorguda kullanılacak verilerin düzgün olarak öncelenmesi gerekir.
Başarısızlık durumunda FALSE, aksi takdirde bir PDOStatement nesnesi.
Örnek 1 - PDO::query() örneği
PDO::query() yönteminin tek özelliği başarıyla çalıştırılmış bir SELECT deyiminden dönen sonuç kümesi üzerinde satır satır verilere erişilebilmesini mümkün kılmasıdır.
<?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";
}
}
?>
Yukarıdaki örneğin çıktısı:
apple red 150 banana yellow 250 kiwi brown 75 lemon yellow 25 orange orange 300 pear green 150 watermelon pink 90