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.