mySQL PDO Kullanımı

Merhaba arkadaşlar. mysql_ ‘li kullanımlarda bildiğiniz gibi açıkların ve hataların kullanıcıya yansıtılması çok kolay gerçekleşiyordu. Bu tip sorunların ortadan kaldırmak için PDO bağlantı kullanılması önerilmektedir. Aşağıda size PDO kullanımını adım adım örneklerle göstereceğiz.

 

Veri Tabanı Bağlantısı

<?php
try {
     $db = new PDO("mysql:host=localhost;dbname=veritabaniAdi", "KullaniciAdi", "Sifre");
} catch ( PDOException $e ){
     print $e->getMessage();
}
?>

Veritabanı Karakter Ayarı

Bu işlem için iki tip kullanım gerçekleştirebiliriz.

  1. $db = new PDO("mysql:host=localhost;dbname=veritabaniAdi;charset=utf8", "kullaniciAdi", "sifre");
  2. $db->query("SET CHARACTER SET uf8");

PDO Select kullanımı

$query = $db->query("SELECT * FROM Kullanicilar where gorev='".$gorev_id."' ORDER BY Unvan ASC", PDO::FETCH_ASSOC);
if ( $query->rowCount() ){
     foreach( $query as $row ){
          print $row."<br />";
     }
}

PDO insert işlemi

$query = $db->prepare("INSERT INTO Firma SET
firmaAdi = ?,
Ulke = ?,
Sehir = ?,ilce = ?
"); 
$insert = $query->execute(array("Novasta Web Tasarım", "Türkiye", "İstanbul", "Tuzla")); 
if ( $insert ){
 $last_id = $db->lastInsertId(); 
print "Firma başarıyla kaydedilmiştir!"; 
}

PDO kullanımında soruişaretli yerlere isterseniz anahtar isimler belirleyip işlem yapabilirsiniz.
Örnek olarak gösterecek olursak;

$query = $db->prepare("INSERT INTO Firma SET
firma_adi = :adi,
firma_sahibi = :sahip,
bolge = :bolge");
$insert = $query->execute(array(
      "adi" => "Novasta Web Tasarım ve Yazılım",
      "sahip" => "Tufan Uludoğan - Özkan CANDAN",
      "bolge" => "İstanbul Anadolu Yakası",
));
if ( $insert ){
    $last_id = $db->lastInsertId();
    print "Firma başarıyala kaydedilmiştir!";
}

PDO update işlemi

$query = $db->prepare("UPDATE kullanicilar SET
parola = :parola
WHERE kullaniciAdi = :kullaniciAdi");
$update = $query->execute(array(
     "parola" => "123321",
     "kullaniciAdi" => "novastaTasarim"
));
if ( $update ){
     print "Şifreniz başarıyla güncellenmiştir!";
}

PDO delete işlemi

$sil = $db->exec("DELETE FROM kullanicilar");
print 'Toplam silinen kullanici sayıyı: '.$sil.'';

$query = $db->prepare("DELETE FROM kullanicilar WHERE kullaniciAdi = :adi");
$delete = $query->execute(array(
   'adi' => $_REQUEST['kullaniciAdi']
));

PDO bağlantısını sonlandırma işlemi

$db = null;