PHP PDO Kullanımı

  2016/07/05 17:19 • Ana Sayfa > PHP

PHP ile dinamik yazılım üretmek için şart koşulan veritabanı bağlantıları, yeni PHP sürümleriyle birer birer kaldırılıyor. Bu yazıda, gerek güvenlik önlemleri, gerek daha kısa & öz kod kullanımına imkan tanıyan PDO ile nasıl veritabanı bağlantısı kuracağınızı, ekleme, silme, düzenleme gibi gerekli işlemleri nasıl yapacağınızı tek kaynak altında toplayacağız.

PDO ile veritabanı bağlantısı

Mysql_li ile benzer ve MySQL_li kadar basit bir yapıda olan bağlantı işlemine ait örnek dosyayı aşağıdan görüntüleyebilirsiniz.

$host = 'localhost';
$dbname = 'database_ismi';
$dbuser = 'dabase_kullanici_adi';
$dbpass = 'database_sifresi';
$charset = 'utf8';

try{
  $db = new PDO("mysql:host=$host;dbname=$dbname;charset=$charset", $dbuser, $dbpass);
}catch (PDOException $error){
  echo 'Hata meydana geldi. Kod: '.$error->getMessage().'';
}

PDO ile listeleme işlemi (SELECT)

Aşağıdaki kodlar ile, member tablosundaki, member_status değeri 9 olan üyeleri HTML kodu aracılığıyla listeliyor ve bu üyelerin member_email değerini ekrana yazdırıyoruz.

$listele = $db->query("SELECT * FROM member WHERE member_status = 9", PDO::FETCH_ASSOC);
foreach($listele as $list){
  echo '.$list['member_email'].';
}

PDO ile sütuna göre yazdırma işlemi (SELECT)

Listeleme işlemine alternatif olarak kullanılabilir. Örneğin bir yönetici paneli hazırlıyorsanız, tek bir üyenin bilgilerini ekrana yazdırmak için bu kodu kullanırsınız.

$getir = $db->query("SELECT * FROM member WHERE member_email = 'e_mail adress'")->fetch(PDO::FETCH_ASSOC);
echo $getir['member_name'];

PDO ile veri ekleme işlemi (INSERT)

Veri ekleme işlemlerinde aşağıdaki PDO INSERT örneğini kullanırsanız, SQL Injection işleminden de kendinizi korumuş olursunuz. 

$add_member = $db->prepare("INSERT INTO member SET
  member_key = :member_key,
  member_name = :member_name,
  member_nick = :member_nick");
$add = $add_member->execute(array(
  "member_key" => "$_POST[member_key]",
  "member_name" => "$_POST[member_name]",
  "member_nick" => "$_POST[member_nick]"
));

PDO ile veri düzenleme işlemi (UPDATE)

Aşağıdaki kod parçacığı ile, member tablosundaki ve member_key sütunundaki abc123 numaralı üyenin member_name değerini, gelen POST değerine göre değiştiriyoruz.

$edit_member = $db->prepare("UPDATE member SET member_name = :member_name WHERE member_key = :member_key");
$edit = $edit_member->execute(array(
  "member_name" => "$_POST[member_name]",
  "member_key" => "abc123"
));

PDO ile veri silme işlemi (DELETE)

Aşağıdaki PDO kodu ile, member tablosunda member_key sütunlarında abc123 numaralı üyeyi aratıyor ve siliyoruz.

$delete_member = $db->exec("DELETE FROM member WHERE member_key = 'abc123'");

PDO, şu an en güvenilir ve kullanılması en doğru PHP ile veritabanı bağlantı aracıdır. PDO ile ilgili arşivi genişleterek daha detaylı bilgi paylaşımında bulunmaya çalışacağız.

Yazar: Ercüment Çözer (@Felina)

2009 yılında gelen "internet için bir şeyler üretme isteği" doğrultusunda yazılım öğrenmeye başladım. Aradan geçen süre zarfında başta PHP ve Python olmak üzere, ticareti yapılabilir birçok şey öğrendim. Şu sıralar web ve mobil ortamda kodlama, tasarlama ve pazarlama konularındaki bilgilerimi pekiştirmek ve ihtiyaç halinde diğer insanlara da yardımcı olabilmek için KodLab.org'u kurdum. Freelance olarak kendi projelerimle ilgileniyorum.