Mesut.Erdemir: Bir yazılımcının günlüğü..

PEAR İle Veritabanı İşlemleri – 1

closeBu yazı 1 yıl 6 ay 25 gün önce yayınlanmış olduğundan güncelliğini yitirmiş veya içeriğindeki bilgilerin geçerliliği kaybolmuş olabilir. Herhangi bir yanlış anlaşılmadan bu site sorumlu değildir.

Geçen makalemizde, PEAR geliştirme ortamını kurmuş ve yapılandırmıştık. Eğer herşey sorunsuz gittiyse, test sayfamızda bool(true) ibaresinin belirmesi lazım. Şimdi, PEAR ile veritabanı işlemlerine geçebiliriz. PEAR ile veritabanı işlemlerimizi kolayca yapabilmemizi sağlayan birkaç kütüphane bulunmakta. Ama biz, en popüler ve en iyi dökümantasyona sahip olan MDB2 sınıfını inceleyeceğiz. Öncelikle bu bileşeni ve mysql(veya mysqli-hangisini kullanacaksanız) sürücüsünü PEAR yüklememize entegre etmekle işe başlayalım.

MDB2 kütüphanesini http://pear.php.net/package/MDB2/download adresinden indirin ve arşivden çıkartın. İçerisinde docs, MDB2 ve test dizinleri ile bir adet lisans dosyası ve kullanacağımız API sınıfı yer almakta. Bizim işimize yarayacak olanlar, sadece MDB2 dizini ve MDB2.php dosyası. “test” dizini içerisinde, bu sınıfın kullanımlarına dair örnekler yer almakta. Upload edip etmemekte özgürsünüz. MDB2 dizini ile MDB2.php dosyasını, kurmuş olduğumuz PEAR dizini içerisine upload edelim. Yine burada dikkat edilecek husus, MDB2.php ile System.php’nin aynı dizinde yer almasını sağlamak. Böylece MDB2 sınıfını kurmuş olduk. Şimdi ise, MDB2 sınıfıyla birlikte kullanacağımız connector’ü kuralım. Ben mysql connector’ünü kuracağım. Siz hangi veritabanını kullanıyorsanız, o connector’ü kurabilirsiniz. Mysql connector’ünü http://pear.php.net/package/MDB2_Driver_mysql/download adresinden indirip, arşiv dosyasından çıkartın. İçerisinde MDB2 ve yine test dizini yer almakta. MDB2 dizinini, sunucudaki MDB2 dizininin bulunduğu dizine gönderin. Böylece içerisindeki alt dizinlere mysql.php connectörünün yazılması sağlanacaktır. Şimdi bir veritabanınız olduğunu varsayarak, örneklere geçelim.

<?php
// MDB2 kütüphanesini include ediyoruz
require_once 'PEAR/MDB2.php';

// Veritabanına connection açıyoruz
$conn =& MDB2::connect('mysql://username:password@localhost/database');
// Eğer hata varsa, hata mesajını döndür ve programdan çık
if (PEAR::isError($conn)) {
 die($conn->getMessage());
}

// Row fetch mod ayarı. Bu ayar, DB'den kolon ismine göre
// seçim yapmamızı sağlıyor. Aksi takdirde, kolon indexine göre
// seçim yapılabilir.
// Ayrıntılı bilgi: http://pear.php.net/package/MDB2/docs/latest/MDB2/MDB2_Driver_Common.html#methodsetFetchMode
$conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
// Sorguyu ilgili connectionda çalıştır
$res =& $conn->query('SELECT * FROM [table_name]');

// While döngüsü ile DB'deki kayıtları al
while (($row = $res->fetchRow())) {
 // Veritabanındaki dataları ekrana yaz
 echo $row['colon1'] . $row['colon2'] . '<br/>' . "\n";
}

// $res objesini temizle
$res->free();

// Bağlantıyı kapat
$conn->disconnect();
?>

Hemen bir de INSERT ve DELETE kodlamalarına bakalım:

// Sorgumuzu ve parametrelerini oluşturuyoruz
$sql  = "INSERT INTO [table_name] (colon1, colon2) VALUES ($data1, $data2)";

// Sorgumuzu çalıştırıyoruz ve dönen değeri *result* değişkenine atıyoruz
$result =& $conn->exec($sql);

// Hata olup olmadığını kontrol ediyoruz
if (PEAR::isError($result)) {
 die($result->getMessage());
}

Şimdi de Delete ile ilgili bir örnek yapalım:

// id numarası 10 olan kayıdı sil
$id = 10;
$sql = 'DELETE FROM [table_name] WHERE id=%d';
// ID'yi integer türünde sql cümleciğine aktar
// Bu kullanım zorunlu değil ama kullanmanızı tavsiye ederim.
$sql = sprintf($sql, $conn->quote($id, 'integer'));
// Sorgumuzu çalıştırıyoruz ve dönen değeri *result* değişkenine atıyoruz
$result = $conn->exec($sql);
// Hata olup olmadığını kontrol ediyoruz
if (PEAR::isError($result)) {
 die($result->getMessage());
}
// Hata yoksa, sonucu ekrana yazdırıyoruz
else echo 'Etkilenen satır sayısı: '. $result .'';

PEAR ve MDB2 kütüphanesi ile temel veritabanı işlemlerini halletmiş bulunuyoruz. Her türlü sorunuzu yorumlar kısmına yazmaktan çekinmeyin.

Benzer yazılar:

  1. PEAR Kurulumu
  2. PEAR İle Kod Renklendirme
  3. PHP İle POST İşlemleri

Buraya yapılan yorumları RSS 2.0 beslemesinden takip edebilirsiniz.

*