PHP Data Objects (PDO) Kullanımı

Merhabalar,

Bu dersimizde PHP PDO Kullanımı hakkında bilgiler vereceğim. Daha sonra UPDATE, DELETE, INSERT, Veri Çekme ve Veritabanı Bağlantısı işlemlerini örneklerle açıklayacağız.

PDO Nedir?

PDO (PHP Data Objects / PHP Veri Objeleri) özetle; hafif ve tutarlı bir şekilde veritabanına erişimi sağlayan bir arayüz. Adından da anlayacağınız üzerie “Object Oriented Programming” arayüzüne sahip, onlarca veritabanı sürücüsü destekliyor.

PDO Veritabanı Bağlantısı

 

		 	try{
$db = new PDO('mysql:host=localhost;dbname=VeritabanıIsmi;charset=utf8','Kullanıcı Adı','Sifre');
}catch(PDOException $e){
echo 'Hata: '.$e->getMessage();
}

Veritabanı bağlantısında olası hataları yakalamak için try cacth kullandık. Karakter Setini UTF-8 olarak belirledik.

PDO prepare() Methodu Kullanımı

prepare() Çalıştırılmak üzere bir SQL deyimini hazırlar. Metot bindparam(), execute(), bindColumn(), bindValue() metotları ile beraber çalışır. Dışarıdan SQL sorgularına dahil edilecek veriler için iki tür tanım yapmayı sağlar. Bunlardan birisi soru işaretidir. Diğeri ise önünde iki nokta üst üste olan herhangi bir isimdir.

PDO Hata Mesajlarını Yakalama errorInfo() Kullanımı

Mysql kullandığımızda sorgularımızın sonuna mysql_error(); ekleyerek hata mesajlarını yakalayabiliyoruz.

PDO kullanırken bu durum biraz değişiyor ve yerini errorInfo(); fonksiyonuna bırakıyor. Bu fonksiyon bize 3 elemanlı bir array döndürür. 0 ve 1. eleman ilgili sorgunun hata kodu, 3. elemanı ise hata mesajıdır.

Ben hata mesajlarını yakalarken empty(); fonksiyonunu kullanıyorum. Eğer hata mesajı boş ise işlem başarılıdır şeklinde. Bunu rowCount(); fonksiyonu kullanarak veya sorgu false dönüyorsa hata vardır şeklinde yapanlarda var.

PDO DELETE Sorgusu Kullanımı

			$del = $db->prepare("DELETE FROM pdotablo WHERE id = ?");
$del->execute(array(
'1'
));
$hata = $del->errorInfo();
echo empty($hata[2]) ?  "Başarılı Bir Şekilde Çalıştı." : $hata[2];

Delete sorgumuzda ID degeri 1 olan verimizi başarılı bir şekilde sildik.

PDO UPDATE Sorgusu Kullanımı

			$guncelle = $db->prepare("UPDATE pdotablo SET baslik=? WHERE id = ?");
$guncelle->execute(array('Mert Köseoğlu','5'));
$hata = $guncelle->errorInfo();
echo empty($hata[2]) ?  "Başarılı Bir Şekilde Çalıştı." : $hata[2];

Update sorgumuzda ID degeri 5 olan baslik sütunumuzda ki verimizi “Mert Köseoğlu” olarak başarılı bir şekilde güncelledik.

PDO SELECT Kullanımı TEK (Verileri Listeletmek) 

			$sql = $db->prepare("SELECT * FROM pdotablo WHERE id= ?");
$sql->execute(array(
'5'
));
$row=$sql->fetch(PDO::FETCH_ASSOC);
echo $row['baslik'];
$hata = $sql->errorInfo();
echo empty($hata[2]) ?  "Başarılı Bir Şekilde Çalıştı." : $hata[2];

PDO SELECT Kullanım Döngü (Verileri Listeletmek)

		$sql = $db->prepare("SELECT * FROM pdotablo");
$sql->execute();
while($row=$sql->fetch(PDO::FETCH_ASSOC)) {
echo $row['baslik'];
}
$hata = $sql->errorInfo();
echo empty($hata[2]) ?  "Başarılı Bir Şekilde Çalıştı." : $hata[2];

PDO INSERT Sorgusu Kullanımı (Veri Eklemek)

		$baslik = "Deneme Baslik";
$icerik = "Deneem İçerik";
$footer = "Deneme Footer";
$sql = $db->prepare('INSERT INTO pdotablo (baslik,icerik,footer) VALUES (?,?,?)');
$ekle = $sql->execute(array(
$baslik,
$icerik,
$footer,
));
$hata = $sql->errorInfo();
echo empty($hata[2]) ?  "Başarılı Bir Şekilde Çalıştı." : $hata[2];

PDO Eklenen Verinin ID Degerini Almak

			$id = $db->lastInsertId();
echo $id;

PDO quote() Methodu Kullanımı

$id=$db->quote($_POST["id"]);
$bag->query("SELECT * FROM okul WHERE id ='$id'");

PDO ile mysql_escape_string ve türevlerinin yerini quote() methodu aldı.

8 thoughts on “PHP Data Objects (PDO) Kullanımı

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir