Profili Göster

PHP de nesne yönelimli veritabanı bağlantısı (MySQL)

Rıdvan KARATAŞ Tarih: 2/07/2008 Yorum: 1 adet

Okunma : 447 Tutanlar: Bu yazıyı 1 kişi tuttu.

PHP’de MySQL bağlantısını oluşturmak için birden çok yöntem vardır. Bir kaç satır kod öbeği, veritabanına bağlantı oluşturabilir hatta sorgulayabilir. Birazdan kodlarıyla örneklendireceğim veritabanı bağlantı nesnesi class teknikleriyle sorgulamaların tüm ihtiyaçlarını karşılayacaktır.

Mümkün olduğu kadar açıklamaları mevcut.


<?
class veritabani

{

var $host;              /*  MySQL Host'u    */

var $kullanici;     /*  MySQL Kullanıcı adı */

var $sifre;             /*  MySQL Şifresi   */

var $baglanti_no;   /*  MySQL bağlantı tanımlayıcı numarası */

var $veritabani;        /*  Kullanılacak veritabanı adı */



var $sorgu;

var $sorgu_no;      /*  Aynı anda birden fazla sorguyu ayırd edebilmek için gerekli. */





/*  Kurucu Fonksiyon    */

function veritabani()

{

/*  Ön tanımlı ayarlar. Bunları kendi sisteminize göre değiştirebilirsiniz. */

$this->host = "localhost";         /*  MySQL Host'u    */

$this->kullanici = "root";         /*  MySQL kullanıcı adı */

$this->sifre = "sifre";                /*  MySQL şifresi   */

$this->veritabani = "websitesi";   /*  MySQL kullanılacak veritabanı   */



/*  Bunlara dokunmayın  */

$this->baglanti_no = 0;

$this->sorgu_no = 0;

}





/*  Host seçilmesi. */

function secHost($v_host)

{

$this->host = $v_host;

}





/*  Kullanıcı seçilmesi.    */

function secKullanici($k_adi,$k_sifre)

{

$this->kullanici = $k_adi;

$this->sifre = $k_sifre;

}


/*  Veritabani seçilmesi    */

function secVeritabani($veritabani_adi)

{

$this->veritabani = $veritabani_adi;

}



/*  Veritabanına bağlanılması   */

function baglan()

{

if ($this->veritabani == "")

$this->durdur("Lütfen önce bir veritabanı seçiniz.");



$this->baglanti_no = @mysql_connect( $this->host, $this->kullanici, $this->sifre );



if (!$this->baglanti_no)

$this->durdur("Veritabanı sunucusu ile bağlantı kurulamadı.");



if (!@mysql_select_db($this->veritabani, $this->baglanti_no))

$this->durdur("Veritabanı seçilemedi.");

}


/*  Veritabanı bağlantısının kesilmesi. */

function kapat()

{

if ($this->baglanti_no)

mysql_close($this->baglanti_no);

}



/*  Sorgulama yapılması */

function sorgula($sorgu_cumlesi)

{

/*  Daha önceden bağlantı kurulmamış ise otomatik olarak bağlantıyı kuralım.    */

if (! $this->baglanti_no )

$this->baglan();



$this->sorgu[++$this->sorgu_no] = @mysql_query($sorgu_cumlesi,$this->baglanti_no);



if (!$this->sorgu[$this->sorgu_no])

$this->durdur("<BR>$sorgu_cumlesi<BR>" . mysql_error());



return $this->sorgu_no;

}



/*  Sorgu sonucundaki toplam sıra sayısının alınması    */

function toplam_sira($sorgu_no = -1)

{

/*  Sorgu numarası verilmemişse sonuncusunu kullan. */

if ($sorgu_no = -1) $sorgu_no = $this->sorgu_no;



if (  (!$this->baglanti_no )  ||  (!$this->sorgu[$sorgu_no])  )

$this->durdur("Lütfen önce bir sorgulama yapınız.");



return mysql_num_rows($this->sorgu[$sorgu_no]);

}


/*  Sorgu sonuçlarının dizi değişken formunda sıralar halinde çekilmesi.    */

function sonuc_cek($sorgu_no = -1)

{

/*  Sorgu numarası verilmemişse sonuncusunu kullan. */

if ($sorgu_no = -1) $sorgu_no = $this->sorgu_no;



if (  (!$this->baglanti_no )  ||  (!$this->sorgu[$sorgu_no])  )

$this->durdur("Lütfen önce bir sorgulama yapınız.");



return mysql_fetch_array($this->sorgu[$sorgu_no]);

}



/*  INSERT ile yapılan kayıt numarasının alınması.  */

function kayit_no()

{

if (  (!$this->baglanti_no )  ||  (!$this->sorgu[$this->sorgu_no])  )

$this->durdur("Lütfen önce bir sorgulama yapınız.");



return mysql_insert_id();

}



/*  Hata meydana gelirse işlemin durdurulması.  */

function durdur($hata_mesaji)

{

echo "<B>Veritabanı sunucumuz ile olan bağlantımızda bir problem meydana geldi.</B><BR>".

"<B>Hata mesajı:</B> <i>$hata_mesaji</i><BR>";

exit();

}


}

?>

Bu scriptin kullanımını açıklamarıyla baktığınızda rahatça anlayacaksınız. Scriptin kullanımı ise oldukça basit.

<?php

require "veritabani.php"; // Scripti çağırdık

$vt = new veritabani; // Veritabanina kisaca vt dedik

$vt->SecVeritabani("DBNAME"); // Veritabanı seçilmesi

$vt->sorgula("SELECT * FROM tablo;"); // Örnek bi sorgu

$sira = $vt->sonuc_cek(); // Bir sira veri çekilmesi

/* Son olarak sonuc_cek olayını mysql_fetch_array ile yaptığımız için, sonuçlarımızı bir dizi değişkende toplayabiliriz. Yani bir tek sira veri: */

echo $sira["SUTUNADI"];

?>

İyi çalışmalar.

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
Murat Çorlu 2/07/2008

PHP5’te burada kurucu fonksiyon diye adlandırılan sınıf metodunun özel adı __construct metodudur.


class veritabani {

   public function __construct(){
      // Sınıf çalıştırıldığında işlenecek kodlar
   }

   public function __destruct(){
      // Sınıf kapatıldığında işlenecek kodlar
   }
}

aç-kapa Yazarın Diğer Yazıları

Makale

İlişkili makale bulunamadı.

yeni bir tane ekleyin

Haber

İlişkili haber bulunamadı.

yeni bir tane ekleyin

Ders

İlişkili ders bulunamadı.

yeni bir tane ekleyin

MMIstanbul Adobe UG MMIstanbul Adobe UG

adobe user group

ColdFusion, Flex, AIR, Flash, PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Premiere, Soundbooth, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.

yeni üyelik | şifremi unuttum

aç-kapa Konferans 2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori: Konferans

aç-kapa Sergi İstanbul'da Bir Sürrealist: Salvador Dali

İstanbul'da Bir Sürrealist: Salvador Dali

Picasso ve Rodin’den sonra kimi görmek istersiniz deseler; Salvador Dali listenin ilk başlarında yer almaz mı? Ressam, yazar, bilim adamı, tasar...
Kategori: Sergi

aç-kapa Eğitim PAZARLAMA EĞİTİMLERİ

PAZARLAMA EĞİTİMLERİ

1-0 Eğitim Ajansı, eğitim programları Yer : Bir Sıfır Eğitim Danışmanlık Zaman Aralığı : Eylül – Ekim 2008 Adres : Çırağan Cad. Şahnisin Sok. No...
Kategori: Eğitim

aç-kapa Eğitim İLETİŞİM EĞİTİMLERİ

İLETİŞİM EĞİTİMLERİ

Kısa zamanda sektöre hızlı bir giriş yapan 1-0 Eğitim Ajansı iş hayatında kariyer yapmak isteyen katılımcılarını 1-0 öne geçirmeye devam ediyor. 1-0 ...
Kategori: Eğitim

aç-kapa Yarışma İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

Türkiye’nin interaktif pazarlama projelerini değerlendiren ilk ve tek yarışması Grand Interactive Awards (GIA) için başvurular 15 Ağustos tarihi...
Kategori: Yarışma

üyeler Üyelerimizden...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 157 (3 kayıtlı, 154 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul