(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)
PDO::query — Bir SQL deyimini çalıştırıp sonucu bir PDOStatement nesnesi olarak döndürür
$deyim
, int $PDO::FETCH_CLASS
, string $sınıfadı
, array $kurucu_değiştirgeleri
)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.
deyim
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