Merhabalar,
Bu yazımda PHP – PDO ile veri tabanından çektiğimiz veriyi JSON çıktısı olarak almayı işleyeceğiz. JSON dosyaları gün geçtikçe daha yaygın bir biçimde kullanılmaktadır ve ihtiyaç haline geldiğini düşünüyorum. Modern Front-End Javascript kütüphaneleri de veri döndürmek için JSON yapısını seçenek sunuyor.
Bildiğiniz gibi PDO, PHP ile veri tabanı işlemleri için kullanılmaktadır. Veri tabanımızı oluşturup bilgilerimizi girip ilk adım olan veri tabanı bağlama işlemini hemen yapalım.
PDO ile örnek bir veri tabanı bağlantısı aşağıdaki gibi oluşmaktadır. try ile bağlantıyı kurmayı deneyip olası bir hata durumunda catch ile yakalayıp hatayı ekrana basmaktadır.
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=furkan;charset=utf8", "root", "");
} catch ( PDOException $e ){
print $e->getMessage();
}
Localhost üzerinden çalıştığım için kullanıcı adı: root, şifre ise boş olacak şekilde ayarladım. Veri tabanı ismim olan furkan’ı kendi veri tabanı adınızla kullanıcı adı ve şifrenizi de kendinize göre belirlediğinizde başarılı bir şekilde veri tabanı bağlantısını kurmuş olacaksınız. Türkçe karakter desteği için charset ise utf-8 olarak ayarlanmıştır.
Şimdi gelelim sorgu ve diğer işlemlerimizi tamamlamaya;
$sorgu = $db->query("SELECT * FROM haberler", PDO::FETCH_ASSOC);
$sonuc = $sorgu->fetchAll(PDO::FETCH_ASSOC);
$json_veri = json_encode($sonuc, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
file_put_contents('haberler.json', $json_veri);
Neler yaptık açıklayalım;
- $sorgu değişkenine veri tabanı bağlama aşamasında atadığımız $db değişkeni üzerinden erişip sorgumuzu yazıyoruz. Örnek haberler tablosundaki tüm verileri çekiyoruz.
- Çektiğimiz verileri dizi formatına getiriyoruz ki json_encode fonksiyonu kullanabilelim. Onu da $sonuc değişkenine atıyoruz.
- $json_veri değişkenimizi oluşturup json_encode fonksiyonuna $sonuc değişkenimizi ilk parametre olarak atayıp diğer 2 json parametresinden;En sonunda file_put_contents fonksiyonu ile dosyaya yazırma işlemini yapıyoruz. İlk parametre dosya adı ikinci parametre ise dosya içeriğini belirlemektedir. Bizim dosya içeriğimizde oluşturduğumuz JSON yapısını direkt olarak dosyaya yazdırıyoruz.
JSON_UNESCAPED_UNICODE ile türkçe karakter desteği sağlıyoruz, JSON_PRETTY_PRINT ile de dosyaya daha okunaklı ve güzel bir biçimde yazılmasını sağlıyoruz.
İşlemlerimiz bu kadar umarım faydalı olmuştur.
Mutlu kodlamalar 🙂
2 comments
hiç bir yere yorum yazmam fakat kardeşim sen veri tabanındaki tablo dahil yapmak istediğimi yapmışsın 🙂 Teşekkürler
İşinize yaramasına çok sevindim. Güzel yorumunuz için çok teşekkür ederim 🙂