05 Kasım 2013, 22:26 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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 ( Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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 Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. * 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. Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Bu işlemden sonra ekran çıktımız şu şekilde olacaktır Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Liste tablomuz ise şu şekilde olacaktır Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. PDO ile gelişmiş kayıt ekleme Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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 Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. PDO ile kayıt silme Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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 Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. PDO ile çok satırlı sonuç alma Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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: Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. PDO: Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. OTH 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: Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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 Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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: Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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: Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. PDO::FETCH_CLASS Sadece PDO::fetchAll() ile kullanıılır. Sonuç bir sınıf objesi türünde döner. Örnek Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 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 Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Alıntı | |
|
Etiketler |
data, objects, php |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |