Ultimate MySQL Sınıfı

Bir süredir geliştirdiğim ufak çaplı PHP + MySQL uygulamalarında Jeff Williams tarafından yazılmış olan Ultimate MySQL sınıfını kullanıyorum. En temel ihtiyaçlarımı karşılamakla beraber kolay geliştirilebilir bir yapısı olduğundan her yeni projede ihtiyaca göre üzerine bir şeyler ekleyebiliyorum.

PHP Classes sitesindeki Ultimate MySQL sayfasından sınıfı edinebilirsiniz. İsterseniz GetXML ve GetJSON fonksiyonlarını eklediğim ve ufak bir problemini düzelttiğim versiyonu buradan indirebilirsiniz. Aslında eklediğim daha bir çok fonksiyon olmasına rağmen, kimisi projeye yönelik olduğundan kimisini ise çok fazla kontrol etmediğimden (SQL Injection sorunuyla karşılaşmanızı istemem) en güvenilir bulduğum şekilde yayınlıyorum.

Paketin içinde çok kapsamlı bir yardım dosyası (help.html – İngilizce) yer alıyor. Ben de kısaca bir kaç örnek vereyim;

include("mysql.class.php");

$vt = new MySQL();
$vt = new MySQL(true, "veritabanı");
$vt = new MySQL(true, "veritabanı", "sunucu", "kullanici_adi", "parola");

Öncelikle mysql.class.php dosyamızı projemize dahil ediyoruz. tek bir veritabanı ile çalışıyorsanız, mysql.class.php dosyasını açıp, varsayılan sunucu ve veritabanı bilgileri girebilirsiniz. Böylece hiç parametre vermeden nesneyi yarattığınızda varsayılan değerler ile bir bağlantı yaratılır. Sunucu ve veritabanı bilgilerini parametre olarak geçerek birden çok sunucuya/veritabanına özel bağlantılar da oluşturabilirsiniz.

Kayıt ekleme:

$degerler["Ad"] = MySQL::SQLValue("Elma");
$degerler["Adet"]  = MySQL::SQLValue(6, MySQL::SQLVALUE_NUMBER);

$sonuc = $vt->InsertRow("meyveler", $degerler);

if (! $sonuc)
  $vt->Kill();
else
  echo "Yeni kayıt numarası: " . $sonuc;

Kayıt güncelleme:

$filtre["Id"] = 4;

$degerler["Ad"] = MySQL::SQLValue("Armut");
$degerler["Adet"]  = MySQL::SQLValue(3, MySQL::SQLVALUE_NUMBER);

if (! $vt->UpdateRows("meyveler", $values, $filtre))
  $vt->Kill();

Kayıt Silme:

$filtre["ID"] = 4;

if (! $vt->DeleteRows("meyveler", $filtre))
  $vt->Kill();

Kayıt Çekme:

$filtre["Ad"]     = MySQL::SQLValue("Armut");

$sonuc = $db->SelectRows("meyveler", $filtre);

if (! $sonuc)
  $db->Kill();
else {
  $db->MoveFirst();
  while (! $db->EndOfSeek()) {
    $satir = $db->Row();
    echo $satir->Ad . " " . $row->Adet . "\n";
  }
}

Bunlar dört temel işlemi ne kadar kolay yapabileceğinizi gösteriyor. Sınıf bu kadarla sınırlı değil. SQL sorguları yazıp çalıştırmanıza imkan sağlayan metotlar, tablo yapısı ile ilgili işlemler yapabilmenizi sağlayan metotlar vb bir çok yararlı metoda sahip. Biraz kullandıktan sonra hemen alışıyorsuınuz.

Takıldığınız yerlerde yardım istemekten çekinmeyin. Sınıfı ben geliştirmedim belki ama elimden geldiğince yardımcı olmaya çalışırım.

“Ultimate MySQL Sınıfı” üzerine 2 yorum

  1. Merhaba , Ultimate Mysql sinifini kullanmaya devam ediyor musunuz ?

    Mevcut hali sanirim en son sizin guncellemeniz durumunda.

    1. Ben yaptığım güncellemeleri geliştiriciye gönderdikten sonra yeni bir sürüm çıkardı. Sınıfın kendi sayfasından son sürümünü bulabilirsiniz.

Yorumlar kapalı.