Php PDO Kullanımı | Mehmet Kaplan

Reklam Alanı

Reklam Alanı

Php PDO Kullanımı

Php PDO Kullanımı

Bu konuda PHP ile veritabanı bağlantısı yaparken kullandığımız PDO (PHP Data Objects)‘i inceleyeceğiz. PDO ile MySQL veritabanımıza bağlanma, veritabanımızdan veri çekme, veri ekleme, güncelleme, silme gibi bir takım olayları inceleyeceğiz. Çok fazla detaya girmeden doğrudan kodları yayınlayacağım ve kaynak olabilmesi açısından el altında kalmasını istediğim bir sayfa olacaktır.

PDO Nedir?

PDO, hafif ve tutarlı bir arayüzdür. PHP ile veritabanlarımıza erişirken yardımcımız olan ve desteklediği onlarca veritabanı sürücüsü ve kullanım kolaylığı ile tercih edilmektedir.

PDO ile Neler Yapabiliriz?

  1. Veritabanı Bağlantısı
  2. Veritabanındaki Verileri Listelemek
  3. Veritabanına Veri Eklemek
  4. Veritabanındaki Veriyi Güncellemek
  5. Veritabanındaki Veriyi Silmek

PDO Veritabanı Bağlantısı

try {
$database = new PDO("mysql:host=localhost;dbname=veritabaniAdi;charset=utf8", "kullaniciAdi", "parola");
} catch ( PDOException $e ){
print $e->getMessage();
}

Yukarıdaki yapımızda ;charset=utf8 kısmını kullanmak zorunda değildik. Fakat karakter setleri her zaman başımıza dert olduğundan bu ufak kod parçasını eklemekte fayda görüyorum. Bunun yanında dilersek farklı bir şekilde bu yapıdan ayrı olarak şöyle bir kullanımını da gerçekleştirebilirdik;

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

PDO Veritabanındaki Verileri Listelemek

$yazilar = $db->query("SELECT * FROM yazilar",PDO::FETCH_ASSOC);
foreach($yazilar as $yazi){
echo $yazi["baslik"];
}

Bu kod yardımı ile veritabanı bağlantısını yaptıktan sonra veritabanımızda yer alan yazılar tablomuzu çekmiş olduk (Veritabanı bağlantısını yaparken $db adında bir değişken oluşturmuş ve bu değişken üzerinden bağlantı yapmıştık. Bu sebeple yukarıdaki yapımızda da $db değişkenini kullandık). Verileri $yazilar adında bir değişkene atadık. Bu değişkenimiz dizi olarak tanımlandığından PHP Foreach yardımı ile gelen verilerimizi tek tek döndürerek her veriyi $yazi değişkenine atadık ve $yazi[“baslik”] methodumuz ile de yazilar veritabanında yer alan baslik sütunundan verimizi çekmiş olduk.

PDO Veritabanına Veri Eklemek

$sorgu = $db->prepare("INSERT INTO yazilar SET baslik = ?, icerik = ?");
$ekle = $sorgu->execute(array("Yazı Başlığı","Yazı İçeriği"));
if ($ekle){$last_id = $db->lastInsertId();
echo "Yeni yazı eklendi!";
}

Yukarıda yer alan kod blogumuz incelendiğinde gözlemliyoruz ki verileri birbiri ile eşleştiriyoruz. Yani birinci sıradaki yer alan verimiz $ekle parametresi içerisinde yine birinci sırada yer alıyor. Bu sıranın sebebi ise kullanılan soru işaretleridir. Eğer sıra fark etmeksizin kodlarımızı oluşturmak istiyorsak mutlaka bir anahtar kelime belirlemeliyiz;

$sorgu = $db->prepare("INSERT INTO yazilar SET baslik = :yaziBasligi, icerik = :yaziIcerigi");
$ekle = $sorgu->execute(array("yaziBasligi" => "Yazı Başlığı","yaziIcerigi" => "Yazı İçeriği",));
if ($ekle){$last_id = $db->lastInsertId();
echo "Yeni yazı eklendi!";
}

PDO Veritabanındaki Veriyi Güncellemek

Veri ekleme işlemi ile aynıdır. Sadece kullanılan INSERT INTO yerine UPDATE kullanılır. Ayrıca $ekle methodu çalıştığında son id’yi almaya ve işleme dahil etmeye gerek yoktur. Yine aynı şekilde bir anahtar belirtilerekte yapılabilir;

$sorgu = $db->prepare("UPDATE yazilar SET
baslik = :yaziBasligi,
icerik = :yaziIcerigi
");
$guncelle = $sorgu->execute(array(
"yaziBasligi" => "Yazı Başlığı",
"yaziIcerigi" => "Yazı İçeriği",
));
if ($guncelle){
echo "Yeni yazı eklendi!";
}

PDO Veritabanındaki Veriyi Silmek

Tüm Verileri Silmek

$sil = $db->exec("DELETE FROM yazilar");
echo 'Silinen Satır: '.$sil;

Tek Bir Veriyi Silmek

$yazilar = $db->prepare("DELETE FROM yazilar WHERE id = :id");
$sil = $yazilar->execute(array('id' => 3)); 

Veritabanımızdaki yazilar tablomuzda yer alan ve id’si 3 olan veriyi sildik.

Reklam Alanı

  • Paylaş
  • 0
gravatar

mehmetkpln18

Architect, Graphic Designer and Website Developer

Mehmet Kaplan, yeni mezun bir mimar, web ve grafik tasarımcısı, araştırmacı. Tasarım, programlama ve kodlama konusunda tutkusu olan biri.

Yorumlar Yorum Yok

Bilgi :Bu yazıya henüz yorum yapılmamıştır, yazı hakkındaki düşüncelerinizi paylaşmaktan çekinmeyin.

Reklam Alanı

Reklam Alanı