IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   PHP (https://www.ircforumlari.net/php/)
-   -   PHP Data Objects (https://www.ircforumlari.net/php/552186-php-data-objects.html)

SeckiN 05 Kasım 2013 22:26

PHP Data Objects
 
PHP Data Objects (PDO) veritabanı ile işlemler gerçekleştireceğimiz işlemler için hazırlanmış bir eklentidir. MySQL, MsSQL, Oracle ve birçok veri tabanı sürücüsü ile başarıyla çalışabilmektedir.

Localhost da phpinfo() fonksiyonunu çalıştırıp PDO eklentisinin aktif olup olmadığına bakalım. Bunu pdo_mysql kelimesini aratarak yapabiliriz. Eğer sonuç varsa eklenti aktif demektir. Eklendi aktif değilse kurulum yapmamız gerekir.

Kurulum

Kurulum için php.ini dosyamızı açalım ve aşağıdaki satırların başlarındaki noktalı virkülleri (;) kaldıralım

;extension=php_pdo.dll
;extension=php_mysql.dll

Kurulumu tamamladığımıza göre artık PDO ile işlemler yapabiliriz...

PDO ile veritabanı bağlantısı yapma

Burada veri_tabani_adi yerine veri tabanı isminizi kullanici_adi yerine msql kullanıcı adınızı ve sifre yerine mysql şifrenizi girmeniz gerekmektedir

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

* Veritabanı bilgilerinizi parametre olarak göndererek yeni bit bağlantı oluşturduktan sonra PDO::exec() metodu ile bir SQL deyimi çalıştırabilirsiniz. Yukarıdaki örnekte veritabanı karakter setini UTF8 olarak ayarladık.

NOT: Bu anlatım için liste isminde bir veri tabanı oluşturdum. Bu veri tabanında 3 adet kolon var id(int), adi(varchar) ve soyadi(varchar). Bundan sonraki anlatımlar bu veritabanı yapısına göre anlatılacaktır.


PDO ile kayıt ekleme

PDO ile veritabanına yeni kayıt eklemek için PDO::exec() metodu kullanılır.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Bu işlemden sonra ekran çıktımız şu şekilde olacaktır

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Liste tablomuz ise şu şekilde olacaktır

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO ile gelişmiş kayıt ekleme

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Burada PDO::prepare() metodu ile çalıştırılmak üzere bir SQL deyimi hayırladık ve object(nesne) türündeki SQL deyimini $kayıt isimli bir değişkeme atadık. SQL deyimini çalıştırmak için PDO::execute() metodunu kullandık. Böylece aynı SQL deyimini kullanarak sadece kayıt değerlerini belirterek kayıt ekleme olayını gerçekleştirdik

Dikkat edilmesi gereken hususlar;

* PDO::execute() metodunu kullanabilmek için SQL deyimi mutlaka PDO::prepare() metodu ile hazırlanmış olmalıdır.
* PDO::execute metodunu kullanmak için $pdo yerine oluşturduğumuz $kayit nesnesini kullandık
* PDO::execute ile gönderdiğimiz değerler bir array(dizi) halinde ve SQL deyiminde soru işareti(?) ile belirtilen sırada olmalıdır.

PDO ile kayıt güncelleme

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO ile kayıt silme

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

NOT: PDO ile gelişmiş kayıt ekleme kısmında kullanılan mantıkla kayıt güncelleme ve kayıt silme yapabilirsiniz.

PDO ile kayıt sorgulama

PDO ile veritabanından tek bir kayıt sorgulamak için PDO::fetch() çok satırlı kayıt sorgulamak için PDO::fetchAll metodları kullanılır.

PDO ile tek satırlı sonuç alma

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO ile çok satırlı sonuç alma

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

NOT: Burada dikkatinizi çekmek istediğim bir nokta var .PDO ile sonuç alma işlemi yaprken fetch(PDO::FETCH_LAZY) ve fetchAll(PDO::FETCH_CLASS) kullandık. Peki bunlar ne anlama geliyor


Sonuç alma metodları


PDO::FETCH_ASSOC

Veritabanından alınan sütun isimlerine göre indisli bir array(dizi)olarak döner.

Örnek:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO::BOTH

Sonuç hem sütün isimlerine göre hem de sütun numaralarına göre indisli olarak döner.

** Eğer herhangi bir feth metodu belirtilmemişse PDO::FETCH_BOTH varsayılan olarak ayarlanır

Örnek:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO::FETH_NUM

Sonuç sütün numaralarına göre indislenmiş bir dizi olarak döner. İlk sütunun indisi 0(sıfır)’dır.

Örnek

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO::FETCH_OBJ

Sonuç veritabanından alınan sütun isimlerine göre isimlendirilmiş nesne(object) türü değişken olarak döndürülür

Örnek:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO::FETCH_LAZY

Sadece PDO::fetch() ile kullanıılır. PDO::FETCH_BOTH ve PDO:FETCH_OBJH sabitlerinin birleşimidir. Ayrıca SQL deyimini de sonuç dizisine ekler

Örnek:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PDO::FETCH_CLASS

Sadece PDO::fetchAll() ile kullanıılır. Sonuç bir sınıf objesi türünde döner.

Örnek

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Açık veritabanı bağlantısını sonlandırma

Açık olan bağlantıyı sonlandırmamız için örnekleme yaptığımız nesne değişkenini null değerine eşitlememiz yeterlidir.

Örnek

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Alıntı


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 09:13.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net