Ana sayfa › Forumlar › PROGRAMLAMA › PHP › Değişik bir veritabanı sınıfı
- Bu konu 0 yanıt içerir, 1 izleyen vardır ve en son 12 yıl 6 ay önce Gökhan tarafından güncellenmiştir.
-
YazarYazılar
-
22 Nisan 2012: 18:55 #12681Gökhanİzleyici
Tarih: 13 Temmuz 2004
İşlev: Çok fonksiyonlu veritabanı nesnesi.
*/### Veritabanı değişkenleri ve ayarları ###
$vt[‘alan’] = ‘localhost’; // Veritabanının çalıştığı alan
$vt[‘yonetici’] = ‘root’; // Veritabanı yöneticisinin kullanıcı adı
$vt[‘yonetici_sifre’] = ”; // Veritabanı yöneticisinin şifresi
$vt[‘kullan_vt’] = ‘deneme’; // Kullanılacak veritabanı adı
$vt[‘hata_log’] = ‘../loglar/vt_hata.log’; // Hata kayıtlarının tutulacağı dosya
$vt[‘islem_log’] = ‘../loglar/vt_islem.log’; // Veritabanına yapılan sorguların tutulacağı dosya
$sql[‘varsayilan_satir’] = 0; // Sorgudan tek satır çekilirken, satır belirtilmezse, varsayılan olarak kullanılacak satır numarası
$sql[‘varsayilan_sutun’] = ‘id’; // Yukarıdakinin, numara değilde, sütun olan hali### Veritabanı Nesnesi ###
class Veritabani {
# Nesne Değişkenleri #
var $vt_baglanti; // Veritabanı bağlantısı yapıldıktan sonra, bağlantı numarası bu değişkene atanır
var $vt_secim; // Veritabanı seçimi yapıldıktan sonra, dönen değer buraya atanır
var $tarih; // Nesne çağrıldığı andaki tarihi tutar
var $dosya; // Şuanda üzerinde çalışılan dosya yolu ve ismini tutar
var $sonsorgu; // Son yapılan SQL sorgusunu tutar
# Nesne Fonksiyonları #
function Veritabani() { // Nesne çağrıldığında dosya ile ilgili belirlemeleri yapar
$this->tarih = date(‘d/m/Y H:i’);
$this->dosya = __FILE__;
}
function vt_baglan() { // Veritabanı bağlantısı sağlar ve kullanılacak veritabanını seçer
global $vt;
if (!$vt[‘baglanti’] = @mysql_connect($vt[‘alan’], $vt[‘yonetici’], $vt[‘yonetici_sifre’])) {
$this->vt_hata(mysql_errno(), mysql_error());
}
if (!$vt[‘secim’] = @mysql_select_db($vt[‘kullan_vt’])) {
$this->vt_hata(mysql_errno(), mysql_error());
}
$this->vt_baglanti = $vt[‘baglanti’];
$this->vt_secim = $vt[‘secim’];
return $this->vt_baglanti;
}
function vt_kapat() {
if (!$kapat = @mysql_close($this->vt_baglanti)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
return $kapat;
}
function vt_hata($hatano, $hata) { // Veritabanı hata raporu tutar ve bunları dosyada saklar
global $vt;
$hata_mesaj = “Hata Tarihi: <".$this->tarih.”>rnHatalı Dosya: <".$this->dosya.”>rnHata No: <$hatano>rnHata: <$hata>rn——————————————–rn”;
$hatalog_dt = @fopen($vt[‘hata_log’], ‘a+’);
if ($hatalog_kaydet = @fputs($hatalog_dt, $hata_mesaj)) {
$donen_deger = 1;
} else {
$donen_deger = 0;
}
@fclose($hatalog_dt);
$mesaj_goster = ‘Veritabanı Hatası
Üzgünüz, servislerimizde bir veritabanı hatası oluştu, hata site yöneticisine bildirildi.
Lütfen siteye, daha sonra tekrar geliniz, teşekkür ederiz.‘;
die($mesaj_goster);
return $donen_deger;
}
function vt_log($sorgu_cumle, $sorgu) { // Veritabanına yapılan sorguların raporunu tutar
global $vt;
$log_kayit = “İşlem Tarihi: <".$this->tarih.”>rnİşlem Yapılan Dosya: <".$this->dosya.”>rnSorgu Cümlesi: <$sorgu_cumle>rnSorgudan Dönen Değer: <$sorgu>rn——————————————–rn”;
$log_dt = @fopen($vt[‘islem_log’], ‘a+’);
if ($log_kaydet = @fputs($log_dt, $log_kayit)) {
$donen_deger = 1;
} else {
$donen_deger = 0;
}
@fclose($log_dt);
return $donen_deger;
}
function vt_hafiza($sorgu = ”) { // Sorgudan dönen veri varsa, bunlar için hafıza ayrılır, nu fonksiyon o hafizayı boşaltır
if ($sorgu == ”) {
$sorgu = $this->sonsorgu;
}
if (!$temizle = @mysql_free_result($sorgu)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
$this->sonsorgu = NULL;
return $temizle;
}
function sql_sorgu($sorgu_cumle) { // Veritabanına, SQL sorgusu gönderir
if(!$sorgu = @mysql_query($sorgu_cumle)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
$this->vt_log($sorgu_cumle, $sorgu);
$this->sonsorgu = $sorgu;
return $sorgu;
}
function sql_satircek($sorgu = ”, $satir = ”, $sutun = ”) { // Yapılan sorgudan dönen değeri tek satır olarak alır (bkz: mysql_result())
global $sql;
if ($sorgu == ”) $sorgu = $this->sonsorgu;
if ($satir == ”) $satir = $sql[‘varsayilan_satir’];
if ($sutun == ”) $sutun = $sql[‘varsayilan_sutun’];
if (!$satircek = @mysql_result($sorgu, $satir, $sutun)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
return $satircek;
}
function sql_toplamkayit($sorgu = ”) { // Bir sorgudan dönen toplam kayıt sayısını verir
if ($sorgu == ”) $sorgu = $this->sonsorgu;
if (!$toplamkayit = @mysql_num_rows($sorgu)) {
vt_hata(mysql_errno(), mysql_error());
}
return $toplamkayit;
}
}### Nesne Testi ###
$Vt = new Veritabani;
$Vt-> vt_baglan();
$Vt-> sql_sorgu(‘SELECT isim FROM personeller LIMIT 1’);
$satir = $Vt-> sql_satircek(”, ”, ‘isim’);
$Vt-> vt_hafiza();
$Vt-> vt_kapat();
echo $satir;
?> -
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.