PDO Nedir
PDO ile Select işlemi
 

PDO ile Veritabanı Bağlantısı

PDO ile bir veritabanına bağlanırken aşağıdaki gibi bir söz dizimi kullanılabilir. Buradaki  örneklerimizde veritabanı olarak mysql kullanılacaktır. Farklı veritabanları için değişiklikler yapmak gerekmektedir. Ayrıca pdo nun exception ı mevcut olduğundan try catch bloğu içerisinde kullanmak olası hataları bulmamıza yardımcı olur.

try {
     $pdo = new PDO("mysql:host=sunucu;dbname=veritabani_adi;charset=utf8", "kullaniciadi", "sifre",$ayarlar);
} catch ( PDOException $e ){
     echo $e->getMessage();
}

 

  mysql Baglanacakgımız veri tabanı sürücüsü
  host Veritabanımızın buluduğu sunucu
  dbname Veri tabanımızın adı
  charset Kullanacağımız  karakter seti
  kullanıcıadı Veritabanımıza erişim için gerekli kullanıcı adı
  sifre Veritabanımıza erişim için gerekli şifre
  $ayarlar Bir dizi olarak pdo yapılandırma ayarları bu değişkende belirtilebilir isteğe bağlıdır Eğer istenirse bağlantı sırasında veya sonradan ayarlar belirtilebilir.

 

Örnek : Kodumuz ile aynı sunucuda deneme  isminde bir veritabanına bağlanmak için gerekli kullanıcı adımız root ve şifre 1234 olduğunu varsayarak aşağıdaki şekilde bağlantı kurabiliriz.

try {
    $ayarlar = array(
       PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    );
     $pdo = new PDO("mysql:host=localhost;dbname=deneme;charset=utf8", "root", "1234",$ayarlar);
} catch ( PDOException $e ){
     echo $e->getMessage();
}

 

Yukarıdaki örnekde $ayarlar dizisinde  PDO::ATTR_DEFAULT_FETCH_MODE değeri PDO::FETCH_ASSOC olarak belirlenmiştir. Sorgu sırasında dönen verinin yapısını belirlemek için kullanılmıştır. Bu yapı pdo ile her sorguda ayrı ayrı belirtilebilmektedir. Sadece tablodaki sütun isimlerine göre indisli bir dizi dönmesi bizim uygulamarda yeterli olacagından her sorguda     PDO::FETCH_ASSOC yapısını kulanmak yerine  başlangıçta varsayılan değerini belirledim.

 

PDO::ATTR_DEFAULT_FETCH_MODE Varsayılan olarak  satırın nasıl döndürüleceğini belirtmek için kullanılır. PDO::FETCH_* sabitlerinden biri olmalıdır. PDO::FETCH_BOTH öntanımlı değerdir.

Alabileceği degerler php.net te şu şekildedir.

  • PDO::FETCH_ASSOC: Sütun isimlerine göre indisli bir dizi döner.

  • PDO::FETCH_BOTH (öntanımlı): Hem sütun isimlerine hem de sütun numaralarına göre indislenmiş bir dizi döner. İlk sütunun indisi 0'dır.

  • PDO::FETCH_BOUND: Sütun değerlerini PDOStatement::bindColumn() ile ilişkilendirilmiş PHP değişkenlerine atar ve TRUE döndürür.

  • PDO::FETCH_CLASS: İstenen sınıfın özelliklerini sütun isimlerine eşleyerek sınıfın bir örneğini döndürür. Eğer alım_tarzı değiştirgesi PDO::FETCH_CLASSTYPE sabitini içeriyorsa (örn, PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) sınıf ismi ilk sütunun değerine göre belirlenir.

  • PDO::FETCH_INTO: İstenen sınıfın mevcut örneğini sütun isimlerini sınıf özelliklerine eşleyerek günceller.

  • PDO::FETCH_LAZY: PDO::FETCH_BOTH ve PDO::FETCH_OBJ sabitlerinin birleşimidir.

  • PDO::FETCH_NUM: Sütun numaralarına göre indislenmiş bir dizi döner. İlk sütunun indisi 0'dır.

  • PDO::FETCH_OBJ: Özellik isimlerinin sınıf isimlerine denk düştüğü bir anonim nesne örneği döndürür.

 

Ekleyen:admin

Adınız
:
Eposta
:



Resmi Degistir