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