Zebra Database
Link: http://stefangabos.ro/php-libraries/zebra-database/
Zebra database oldukça gelişmiş tek dosyadan oluşan object oriented mysql database classıdır.
Sorguları ister dosya şeklinde ister memcache olarak cachelemenize olanak sağlar oldukça iyidir ben büyük bir deneme yaptım fark ediyor.
Gelelim en güzel yanına classın kendine has debug özelliği vardır mysql sorgularınızın döndürdüğü sonuçları, etkilediği tabloları ve birçok mysql çıktısını anlık olarak detaylı bir şekilde görmenizi sağlıyor. Ayrıca error reporting E_ALL yapsanız bile hiçbir mysql hatasını ekrana yazdırmıyor, direkt debug ekranından görebiliyorsunuz.
Debug çubuğu ekranın en tepesinde javascript destekli olarak görülebiliyor, sadece debug aktif edildiğinde gözükür.

Burada SELECT sorgusunun debug ekranındaki çıktısını görüyoruz

Ayrıca Backtrace denen özelliği sayesinde hangi sorgunun hangi dosyada kaçıncı satırdan çağrıldığını görebilirsiniz.

Örnek kullanımı
<?php
require 'dosya/yolu/Zebra_Database.php';
$db = new Zebra_Database();
// debug aktifleştir
$db->debug = true;
$db->connect('host', 'username', 'password', 'database');
// kodlamanız burada
// aşağıdaki kod parçacığı dosyalarınızın her zaman sonunda bulunmalıdır
$db->show_debug_console();
?>Basit bir SELECT sorgusu<?php
// $criteria mysql injection açıklarından otomatik kaçırılıyor ve
// soru işareti ? yerine otomatik dolduruyor
$db->select(
'column1, column2',
'table',
'criteria = ?',
array($criteria)
);
// bundan sonra tek bir "fetch" yeterli
// tek bir arrayda toplamak için
$records = $db->fetch_assoc_all();
// yada teker teker kendine has arraylara atamak için aşağıdaki kodu kullanabilirsiniz
while ($row = $db->fetch_assoc()) {
// loop içi kodlama
}
?>Bir INSERT işlemi<?php
$db->insert(
'tablo',
array(
'sutun1' => $deger1,
'sutun2' => $deger2,
)
);
?>Ve son olarak UPDATE işlemi<?php
// $criteria mysql injection açıklarından otomatik kaçırılıyor ve
// soru işareti ? yerine otomatik dolduruyor
$db->update(
'tablo',
array(
'sutun1' => $deger1,
'sutun2' => $deger2,
),
'criteria = ?',
array($criteria)
);
?>