PDO – Php Data Objects Kullanımı

Merhaba Arkadaşlar,

Bu yazımızda Php 5.5 de kalkan mysql_  ile başlayan, Mysql fonksiyonlarının desteği kalkınca, onun yerini doldurabilecek bir veritabanı sınıfı olan PDO (php data objects) dan bahsedeceğiz.

Örnek vermek gerekirse önceden yazdığınız:

bu fonksiyon artık çalışmayacak 🙁

 

PDO Nedir ?

PDO nun açılımı Php data objects  dir. Hızlı ve Hafiftir.  Veritabanlarınıza erişimi sağlayan Güzel bir eklentidir.

Birçok Veritabanı Sürücüs Destekler, desteklediği Veri Tabanlarından Bazıları:

  • SQLite 3 and SQLite 2
  • MySQL 3.-/4.-/5.-
  • Oracle Call Interface
  • Microsoft SQL Server / SQL Azure
  • PostgreSQL
  • Cubrid
  • Firebird/Interbase
  • ODBC v3

Bu kadar veritabanı destekleyen güzel bir eklentidir Pdo.

Mysql_* Fonksiyonlardan Farkı Nedir ?

Mysql_* fonksiyonlarda sorguları biraz uzatıyoruz diyebiliriz
Pdo da ise Kolayca Yazılabilir.
Ve Daha Bir Sürü Özelliği Var.

 

PDO ile Veritabanına Bağlanmak

Pdo ile mysql veri tabanımıza aşağıdaki şekilde bağlanırız.

Eğer Bağlantı hata verir ise bunu try-catch blokları ile yakalayıp, gerekli müdahelede bulunabiliriz. Bunu Şu Şekilde Yapabilirsiniz.

Not: Veritabanına Bağlanırken Karakter Setini tanımlamak isterseniz Aşağıdaki şekilde yapmalısınız.

 

Örnek Bir Veritabanı Şeması:

Bu Veritabanımızın bir tablosu, Adı Üyeler (uyeler) Olsun.

  • Tablo uyeler
 idnamesurnamereg_dateagetelmail
1HakanYazar10.08.2015270512 2345685hakanyzr@gmail.com
2KasımNursaçan07.03.2006250500 123 6547k_nursacan@gmail.com
3Ömer AliGüven01.04.20153505548947723omerali@programciyiz.biz
4AbdullahCaba01.01.20151805076097585abdullah@programciyiz.biz

PDO ile Sorgulama Yapmak

PDO ile Nasıl Veritabanında Sorgu Yapacağınızı Göstereceğim.
Not: Pdo ile işlem yaparken ilk başta bağlantıyı atadığımız değişkeni referans alacağız. Yani

İlgili Yazı:  DeepWeb Hakkında Bazı Bilgiler [Kısa ve Öz]

Şeklinde Yaptık ya, Sorgu yaparken fln hep

Şeklinde Yapacağız.

—-

* Basit Bir Sorgu ( Üyeler tablosundaki bütün üyeleri çeker)

* Koşullu Sorgulama Yapar ( Adı Atilla olanları Çeker)

Şeklinde Örnekler Çoğaltılabilir.

 

PDO ile Tek Satırlı (Bir adet) Sonuç Almak

Az Önce Yukarıda Sorgular yazmıştık, Şimdi sıra bu sorguları Çekmek, Kullanmak.
Yazdığınız sorgulardan sonuç döndü ise, bunun bilgilerini alacağız.

Örneğin adı Ömer Ali Olanları sorgulayalım.

Eğer Böyle Bir Sorgudan kayıt dönerse ekrana bastıralım bilgilerini.

Yukarıdaki Kodlar ile Adı Ömer Ali olan kişilerden ilk kaydı aldık ( Tek Kayıt Sorguladığımız İçin).

İsmini Yazdıralım birde.

 

PDO nun Alım Modları Vardır. Yani ->fetch(PDO::FETCH_LAZY) gibi. Biz Örneklerimizde Fetch_lazy kullanacağız.
Ama İsteyenler Buradan Tüm Fetch Modları Öğrenebilirler.

PDO Alım Modları (Fetch Modes)

 

PDO ile Çoklu Sonuç Almak

Pdo İle Birden Fazla Kayıt Sorgulamak, döndürmek istersek Aşağıdaki Şekilde Yapmalıyız.

İlgili Yazı:  Nginx Tarayıcı Önbellekleme Ayarları

 

 

PDO ile Kayıt Ekleme

PDO ile Kayıt eklerken exec metodunu kullanacağız. Bu metod yazdığımız sorguyu çalıştırır, Geriye Sonuç Döndürmez.
query metodunuda ise geriye bir sonuç döner, 2 yöntemide kullanabilirsiniz.

Pdo ile 2 türlü kayıt ekleyebiliriz.

  1.  Prepare metodu ile
  2. Normal düz sorgu ile

1-) Prepare metodu kullanımı:
Prepare metodu sorguyu kalıplayabilmemize yarıyor, önceden bir sorgu kalıbı oluşturup, sorgulanacak yerlere ? ile belirtip, daha sonradan kullanabileceğimiz (Şablon diyebiliriz) bir yöntemdir. Sonrasında ise kalıba atadığımız değişkeni execute metodu ile ? işaretli yerlere istediğimiz verileri girip, çalıştıracağız.

 

Şeklinde Insert etme Şablonumuzu hazırladıktan sonra verileri eklemek için execute metodunu kullanabiliriz.

Şeklinde yaptıktan Sonra Ekleme işlemimiz tamamlanmıştır. (Bu yöntem sql injectiona karşı güvenlidir.)

İlgili Yazı:  Php Nedir ?

 

Normal düz sorgu ile Insert işlem
Normal Sorgu gibi yapacağız, query veya exec olabilir. Biz bu örnekte execi kullanacağız.

Şeklinde Yaparsak Ekleme işlemimiz tamamlanmış olur.

 

 

Delete Update İşlemleri

Delete işlemleri için execi tavsiye ediyorum. Kullanımı Yine Aynı.

Update İçin ise Prepare veya Query metodunu kullanabilirsiniz.
Bu Örnekte Query metodunu kullanacağız.

 

Bu yazımda Anlatacaklarım Bu kadar. Pdo Tabiki Bu kadar Kısa değil, Çok Büyük bir deryadır PDO.
Daha fazlasını öğrenmek için bu siteye gidebilirsiniz. http://php.net/manual/tr/book.pdo.php

Kendinize İyi Bakmanız Dileğiyle…

Özet
PDO - Php Data Objects Kullanımı
Yazı Başlığı
PDO - Php Data Objects Kullanımı
Tanım
PDO ( Php Data Objects) Çok Geniş Kapsamlı, Php için Yazılmış bir veritabanı eklentisi. Pdo Mysql MsSql, Oracle Gibi Bir çok veritabanı sürücüsünü destekler. Bu yazımızda PDO kullanımını Öğreneceğiz.
Yazar

14 Responses

  1. Derin 28 Ekim 2015 / 11:21

    Linux dersleriniz varmıdır ?

  2. Gürani 28 Ekim 2015 / 12:29

    Kodlama öğrenmek için ne yapmalıyım Abi ?

  3. User159723[03] 28 Ekim 2015 / 15:56

    Ellerine sağlık gayet açıklayıcı, umarım devamı da gelir.

    • Abdullah Taha Abdullah Taha 28 Ekim 2015 / 18:12

      Değerli yorumunuz için teşekkür ediyorum. Sizlerinde desteği ile kendimi geliştireceğime inanıyorum.

  4. Gelincik 28 Ekim 2015 / 18:12

    php , jquery derslerinizi beğendim.

  5. Hesna 4 Kasım 2015 / 00:03

    Beğendim üstadım Süpersin. Abdullah Taha.

  6. Kerimhan 6 Kasım 2015 / 19:37

    Süper makale +rep

  7. Ecir 8 Kasım 2015 / 19:11

    Güzel açıklama saol

  8. Fati 19 Kasım 2015 / 01:20

    php , jquery derslerinizi beğendim.

  9. Erentürk 4 Aralık 2015 / 13:55

    Php kategorisindeki yazıları seviyorum ya. süpersin hoca.

  10. Ergül 5 Aralık 2015 / 02:56

    PDO – Php Data Objects Kullanımı yazınız çook güzel olmuş ellerinize sağlık.

  11. ASametYıldırım 29 Temmuz 2016 / 14:22

    Merhaba hocam öncelikle ellerinize sağlık çok güzel yazı olmuş. Dediğiniz gibi Mysql fonksiyonun desteği kalkınca pdo zorunlu olmaya başladı bu yazı çok işime yaradı teşekkür ederim. Fakat bir sorun var hostta kolayca çalışıyor ama iş wampservere gelince beceremedim acaba localhostta ayrıyeten birşey mi yapmak gerekiyor?Şimdiden Teşekkürler

    • Abdullah Taha Abdullah Taha 24 Ağustos 2016 / 20:43

      Pdo Eklentisini Php.ini den aktif etmeniz gerekmekte hocam.

      ;extension=php_pdo_mysql.dll bu satırı bulup, başındaki noktalı virgülü kaldırp kaydedin, aşağıdaki gibi

      extension=php_pdo_mysql.dll

Bir cevap yazın

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

Güvenlik kodu * Time limit is exhausted. Please reload the CAPTCHA.