PHP – PDO İki Database Kullanımı
Merhabalar arkadaşlar;
Önceki makalemde sizlere mysql komutları ile iki farklı database’e nasıl bağlantı yapacağımızı anlatmaya çalışmıştım. Bir sonraki makalemde ise size mysqli komutlarını kullanarak nasıl yapabileceğimizi anlatacaktım. Ancak mysql ile mysqli komutları arasında kullanım açısından çok büyük bir fark olmadığı için bu makale ile sizlere doğrudan PDO kullanımını anlatacağım.
Öncelikle PDO’nun ne anlama geldiğini kısaca anlatalım. PDO => PHP Data Objets yani Türkçe karşılığı ile PHP Veri Nesneleri. myql ve mysqli den daha kolay bir şekilde database ile iletişim kurmanıza yardımcı olur. Tabi ki kolay dediğim zaman yanlış anlamayın. Her kolaylığın içinde kendi çapında zorlayıcı unsurlar olabilir. Bu yüzden ben burada en güvenli yöntemlerden birini kullacağım. Buna PDO::prepare metodu diyoruz.
Hemen konumuza girip çalışmalarımızı başlatalım. Öncelikle 1. adımla başlayalım. Localhostumda mysql kullandığım için ben işlemlerimi localhost üzerinden halledeceğim. Sizler isterseniz sunucunuzda oluşturacağınız database’ler ile aynı örneklemleri yapabilirsiniz.
Adım 1: Öncelikle databaselerimizi oluşturalım. Ben TESTDB1 ve TESTDB2 adında iki database oluşturup Tablo1 ve Tablo2 tabloları altına aşağıdaki gibi verileri işledim.
Adım 2: Database’lerimiz oluştuğuna göre, şimdi dosyalarımızı oluşturalım ve yavaş yavaş kodlamaya başlayalım. Ben görüntüleme ve veri girişi için bir index.php sayfası oluşturdum. Bir database bağlantısına veri ekleme işlemi sırasında da ihtiyacım olacağı için database.php adında database bağlantılarımın olduğu bir dosya ve veri ekleme işleminin gerçekleşeceği ekle.php dosyaları bu makale için yeterli olacaktır diye düşünüyorum.
Adım 3: Şimdi dosyalarımızı kodlamaya başlayalım. Tabi ki öncelikle database bağlantısı yapmamız gerekiyor. Database bağlantımız aslında oldukça kolay, PHP’nin PDO kütüphanesini kullanarak aşağıdaki bağlantı mysql database’lere bağlanabilmek için kullanılmaktadır. Host: database lokasyonu, dbname: database adı, charset: database veri iletişiminde kullanılacak olan karakter seti olarak açıklayabiliriz. Sonra bir virgül koyarak bağlantı için gerekli olan kullanıcı adımızı, sonra da bir virgül daha ve şifremizi yazıyoruz.
Adım 4: Bağlantı nesnelerimizi oluşturduğumuza göre, şimdi index sayfamız ile kodlamaya başlayabiliriz. Başlangıçta database bağlatılarımızın olduğu “database.php” dosyamızı include ediyoruz. Sonrasında da aşağıdaki gibi kodlarımızı yazıyoruz ve dosyamızı kaydediyoruz.
Adım 5: Sayfamızı browser ile açıp görüntülediğimizde aşağıdaki resimde olduğu gibi database verilerinin alındığını ve görüntülendiğini görebileceksiniz. Eğer sizin için bu kadarı yeterliyse, daha fazlasında gerek duymadan burada makaleyi okumayı bitirebilirsiniz. Ancak veri eklemeyle ilgilenen arkadaşlar bir sonraki adımdan devam edebilirler.
Adım 6: Veri girişi için formlarımızı oluşturuyoruz. Ben her bir database verisi için bir tablo oluşturdum. Yani iki ayrı tablo ile verilerin işlenmesini sağlayacağım. Öncelikle DB 1 verilerini işleyecek olan tablomuzu aşağıdaki gibi oluşturalım. Unutmayın bu satırları ?> php bloğun kapanışından sonra ekleyeceğiz.
Adım 7: Şimdi de DB 2 verilerini işlemek için kullanacağımız tablomuzu oluşturalım. Şimdi burada konuya tam hakim olamayan arkadaşlar şu soruyu sorabilir. “İki ayrı formumuz var ve iki farklı veri işleme işlemi gerçekleştireceğiz. Hangi formdan veri geldiğini nasıl anlayacağız?” bu güzel bir soru aslında pratik de, her ne kadar farklı metodları olsa da benim kullandığım yöntem hakkında nasıl olsa ileri ki adımlarda göreceğiniz için burada bir ip ucu vereyim. Submit buttonu benim için yeterli olmuştur…
Formlarımız oluştuğunda sayfamızın görüntüsü aşağıdaki gibi olacaktır. Umarım bir yerde hata yapmamışsınızdır. Özellikle yazarak iyice aşina olmanız için resimlerle anlatmaya çalışıyorum. Çünkü nasıl ki ne kadar çok konuşup yazarak pratik yaparsanız bir dile o kadar hakim olmaya başlarsınız, aynı şey burada da söz konusu…
Adım 8: Şimdi ekleme işlemimizin gerçekleşeceği “ekle.php” dosyamızı açalım ve php taglarımızı oluşturduktan hemen sonra ekleyeceğimiz ilk satırlar aşağıdaki gibi olsun.
Gördüğünüz gibi Post ile gönderdiğim verilerden ilk kontrol etmek istediğim submit buttonunun value değeri…
Adım 9: Şimdi DB1 verilerini işlememiz için gerekli olan satırları hazırlayalım. Burada isterseniz sizler formdan gelen verileri strip_tags, addslashes, ve trim gibi metodlarla temizleyebilirsiniz. Ben burada gerekli görmedim.
Şayet dikkat ederseniz if bloğunu bir preg_match ifadesi ile başlatıyorum. Burada gönderen formun submit buttonunun value değerinin “DB1” şeklinde başlayıp başlamadığını kontrol ediyorum.
Adım 10: DB1 tamamlandığına göre şimdi sıra DB2 verilerinde. Benzer bir yöntem ile DB2 verilerinin işleme satırları da aşağıdaki gibi…
Adım 11: Şimdi sıra giriş verilerini denemekte… öncelikle DB1 verilerini işlemeyi deneyelim. Bakalım başarabilmişmiyiz. Hasan, Hüseyin, Kapıcı verilerini gönderiyoruz.
Görüldüğü gibi veri ekleme işlemimiz başarılı.
Ve listelememiz yapmak için index.php sayfamızı yeniden yüklediğimizde verilerimizin de geldiğini görebilirsiniz.
Şimdi de DB 2 için Elektronik, Zevkli ve Zor, Sonic verilerini deneyelim.
Ve tekrar index.php sayfamızı yenilediğimizde db2 verilerinin de listelendiğini görebilirsiniz.
Evet arkadaşlar. Şayet herhangi bir hata yapmadıysanız ve birebir aynı satırları yazdıysanız yukarıdakilere benzer çıktılar alacaksınız. Farklı şekillerde de deneyebilirsiniz. Daha farklı verileri de işlemeyi deneyebilirsiniz. Sonuç değişmeyecektir. Umarım yukarıda anlatmış olduklarım işinize yarar ve sizler için ufakta olsa bir katkıda bulunabilmiş olmuşumdur.
Devam edecek makalelerde daha farklı konulardan veya PDO kullanım şekillerinden de bahsedebilirim. Şimdilik kalın sağlıcakla. Kolay gelsin.
Category: PHP