pdo

PHP PDO ile Veritabanı İşlemleri

PHP PDO ile Veritabanı İşlemleri

PHP PDO (PHP Data Objects), PHP tarafından veritabanına erişmek için kullanılan bir API’dir (Application Programming Interface). PDO, birçok farklı veritabanı sistemini destekler ve veritabanına bağlanmak, sorgu çalıştırmak ve sonuçları almak gibi işlemleri kolaylaştırır.

PDO, veritabanına bağlanmak için PDO sınıfını kullanır. Bu sınıfın bir nesnesi oluşturulur ve PDO sınıfının yapılandırıcı metodu kullanılarak veritabanına bağlantı kurulur. Örneğin:

try {
   $pdo = new PDO("mysql:host=localhost;dbname=veritabani_adi", "kullanici_adi", "sifre");
   // Bağlantı başarılı
} catch (PDOException $e) {
   // Bağlantı başarısız
   die("Bağlantı hatası: " . $e->getMessage());
}

Bu örnekte, PDO sınıfının nesnesi oluşturulur ve yapılandırıcı metodu kullanılarak veritabanına bağlantı kurulmaya çalışılır. Bağlantı başarılı olursa, $pdo değişkeni veritabanına bağlı bir PDO nesnesini temsil eder; bağlantı başarısız olursa, catch bloğu çalışır ve bir hata mesajı gösterilir.

PDO, veritabanına sorgu çalıştırmak için query() metodunu ve sonuçları almak için fetch() metodunu kullanır. Örneğin:

$sorgu = $pdo->query("SELECT * FROM kullanicilar");
while ($sonuc = $sorgu->fetch()) {
   echo $sonuc['kullanici_adi'] . "<br>";
}

Bu örnekte, $pdo->query() metodu kullanılarak veritabanındaki kullanicilar tablosundaki tüm satırların seçildiği bir sorgu çalıştırılır ve $sorgu->fetch() metodu kullanılarak sonuçlar döngü içinde tek tek alınır. Bu örnekte, her satırdaki kullanici_adi sütunundaki değerler echo komutuyla ekrana yazdırılır.

PDO, sorgu sonucu döndüren sorgular dışında çalıştırılabilecek sorguları da destekler. Örneğin:

$sorgu = $pdo->prepare("INSERT INTO kullanicilar (kullanici_adi, sifre) VALUES (?, ?)");
$sorgu->execute(array("yeni_kullanici", "sifre123"));

Bu örnekte, $pdo->prepare() metodu kullanılarak veritabanına yeni bir kullanıcı ekleyecek bir sorgu hazırlanır ve $sorgu->execute() metodu kullanılarak çalıştırılır. Bu sorguda, ? işaretleri placeholder’ları temsil eder ve execute() metoduna iletilerek gerçek değerlerle değiştirilir. Bu yöntem, SQL enjeksiyonu gibi güvenlik açıklarını önler ve daha okunaklı kod yazımını sağlar.

PDO, veritabanı bağlantısını kapatmak için PDO::close() metodunu kullanır. Bu metod, $pdo nesnesinin özel bir metodudur ve $pdo nesnesine ait veritabanı bağlantısını kapatır. Örneğin:

$pdo = null;

Bu örnekte, $pdo nesnesinin değeri null olarak değiştirilerek veritabanı bağlantısı kapatılmış olur.

PDO, veritabanı işlemleri sırasında oluşabilecek hataları yakalama ve öğrenme için PDOException sınıfını kullanır. Bu sınıf, PDO sınıfının bir türevidir ve veritabanı işlemleri sırasında oluşabilecek hataları temsil eder. Örneğin:

try {
   $pdo = new PDO("mysql:host=localhost;dbname=veritabani_adi", "kullanici_adi", "sifre");
   // Bağlantı başarılı
} catch (PDOException $e) {
   // Bağlantı başarısız
   die("Bağlantı hatası: " . $e->getMessage());
}

Bu örnekte, veritabanına bağlanmaya çalışılırken oluşabilecek hataları catch bloğu ile yakalar ve $e->getMessage() metodu kullanılarak hata mesajını die() fonksiyonu ile ekrana yazdırır.

Umarım bu bilgiler faydalı olmuştur. PHP ile ilgili diğer yazılar için tıklayınız. Bknz.

Similar Posts

Bir cevap yazın

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