Veri tabanımızda kullanıcılar tablosundaki tüm kullanıcıları listelerken aşağıdaki gibi bir kod kullanırız. Aşağıdaki kodu çalıştırdığımzda $q değişkeni sorgumuza uyan kayıtları içeren bir dizi olarak kullanılabilir.
Birden fazla satırdan oluşan veri alma
Örnek :
$q = $pdo->query("SELECT * FROM uyeler"); if ($d=$q->fetchAll()){ foreach($d as $k=>$v) { echo '<b>indis no : '.$k.'</b><br>'; echo $v["uyeadi"].'<br>'; echo $v["adi"].'<br>'; echo $v["soyadi"].'<br>'; echo $v["eposta"].'<br>'; echo '<hr>'; } }
Yukarıdaki örnekte $pdo->query ile sorgumuzu oluşturuyoruz. ve $q->fetchAll() ile sorgumuza uyan tüm satırları veritabanından alıyoruz. Aldığımız sonuçlar 2 boyutlu bir dizi olarak $d ye aktarlıyor. Bundan sonra dizi içerisindeki verileri istediğimiz gibi kullanabiliriz. Örnekte dizi de yer alan uyeadi,adi,soyadi, eposta alanarı ekrana liste olarak yazdırılıyor.
Tek bir satırdan oluşan veri alma
Örnek : Veritabanından sadece 1 satır veri almak için aşağıdaki gibi bir kod yazabiliriz. Burada $q->fetch() sorgumuza uyan ilk satırı bize dizi olarak verecektir. $d dizisi içerisinde bilgileri ekrana basarken tablomuzda yer alan alan adlarını kullanabiliriz. Aşağıdaki örnekte sorguya herhangi bir koşul eklemedigimizden dolayı veritabanımızdaki ilk satırı bize verecektir.
$q = $pdo->query("SELECT * FROM uyeler"); if ($d=$q->fetch()){ echo $v["uyeadi"].'<br>'; echo $v["adi"].'<br>'; echo $v["soyadi"].'<br>'; echo $v["eposta"].'<br>'; }
Sorgularda dışarıdan veri almamız gerekiyor ise burada sql injection olaylarını önlemek için prepare yapısını kullanmamız gerekir bunun için sonraki dersi inceleyebilirsiniz.