PHP PDO

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
 id name surname reg_date age tel mail
1 Hakan Yazar 10.08.2015 27 0512 2345685 hakanyzr@gmail.com
2 Kasım Nursaçan 07.03.2006 25 0500 123 6547 k_nursacan@gmail.com
3 Ömer Ali Güven 01.04.2015 35 05548947723 omerali@programciyiz.biz
4 Abdullah Caba 01.01.2015 18 05076097585 abdullah@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

Ş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.

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.)

 

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…

Bir cevap yazın

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