Değişik bir veritabanı sınıfı

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 önce Gökhan tarafından güncellenmiştir.
1 yazı görüntüleniyor (toplam 1)
  • Yazar
    Yazılar
  • #12681
    Gö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;
    ?>

1 yazı görüntüleniyor (toplam 1)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.
Bana Ders Anlat © 2008-2022