Arama Sonuçları ‘PDO::FETCH_ASSOC’

PDO Nedir ve PDO Kullanımı

PDO sürücüsü PHP 5.1.0 sürümünden itibaren etkindir.

php.ini dosyasından aşağıdaki satırı etkin hale getirebilirsiniz.

extension=php_pdo.dll

PDO ile veritabanı bağlantısı nasıl yapılır?

try {
     $db = new PDO("mysql:host=localhost;dbname=deneme;charset=utf8", "deneme", "123");
} catch ( PDOException $e ){
     print $e->getMessage();
}

Try catch kullanmaya yavaş yavaş alışsanız iyi olacak. Try catch nesne yönetimli kod yazmak isteyen kişilerin kullandığı bir yapıdır. Try catch’i hataların raporlanmasında kullanıyoruz.

Bağlantı kodunda charset=utf8 belirttim fakat isteğe bağlı olarak aşağıdaki gibi de kullanabilirsiniz.

$db->query("SET CHARACTER SET uf8");

PDO ile select işlemi

$query = $db->query("SELECT * FROM tablo", PDO::FETCH_ASSOC);
   foreach( $query as $row ){
      echo $row['isim']."<br />";
   }

Yukarıdaki kod’da PDO::FETCH_ASSOC “Yöntemin, sonuç kümesindeki her satırının, sütun isimleriyle indislenmiş bir dizi olarak döndürüleceğini belirtir. Eğer sonuç kümesi aynı isimde birden fazla sütun içeriyorsa her sütun için tek bir değer döner.” işlemini gerçekleştirmektedir.

Eğer bu şekilde değil de tek bir satır çekecekseniz aşağıdaki kodu kullanabilirsiniz.

$query = $db->query("SELECT * FROM tablo WHERE ID = 1")->fetch(PDO::FETCH_ASSOC);
    print_r($query);

Eğer parametreyi dışarıdan alacaksanız kesinlikle aşağıdaki kodu kullanmanızı öneririm, çünkü sql injection açığına tam manasıyla bir güvenlik sağlamaktadır.

$sql= "SELECT * FROM tablo WHERE ID = :tabloID";
$query = $db->prepare($sql);
$query->bindParam(':tabloID', $tabloID, PDO::PARAM_INT);
$sonuc = $query->execute();

Tabi bu kodda integer değer aldık, peki ya string değer alsaydık? Bu sefer de bindParam kısmında aşağıdaki kodu kullanacaktık.

$query->bindParam(':isim', $isim, PDO::PARAM_STR);

PDO ile insert işlemi

Bu aşamayı yine prepare kullanarak yapacağız.

$sql = "INSERT INTO tablo (isim,yaz,) VALUES (:isim,:yazi)";
$query = $db->prepare($sql);
$sonuc = $query->execute(array(':isim'=>$isim,':yazi'=>$yazi));

PDO ile update işlemi

Yine yukarıdaki prepare ile yapacağız, fakat bu sefer değişik bir yol göstermek istiyorum.

$sql = "UPDATE tablo SET isim=?, yazi=? WHERE id=?";
$query = $db->prepare($sql);
$sonuc = $query->execute(array($isim,$yazi,$id));

PDO ile delete işlemi

insert ve update kodlarında kullandığımızın aynısı aslında, sadece örnek olsun diye ekliyorum.

$sql = "DELETE tablo WHERE id=?";
$query = $db->prepare($sql);
$sonuc = $query->execute(array($id));

PDO sonuç kontrolü

Yukarıdaki kodlarda $query->execute kısmına bir değişkene atadım, sizde if ile aşağıdaki gibi işlemin başarılı olup olmadığını görebilirsiniz.

if($sonuc)
   echo "Execute işlemi başarılı.";

PDO bağlantı sonlandırma

İşimiz bittiğinde bağlantılarımızı sonlandırmamız lazım. Bunun için de aşağıdaki kodu kullanabilirsiniz.

$db = null;

PDO count_row işlemi

Tüm verilerin kaç tane olduğunu saymak için aşağıdaki kodu kullanırız.

$toplam = $query->rowCount();

Kategoriler