Online Dersler

Türkiye’nin En Büyük Ders ArÅŸivi

Php İle MySql Baglantısı

PHP programlarımızda veritabanından yararlanabilmek için programın önce Web sunucusu aracılığıyla veritabanı dosyası ile baÄŸlantı kurması gerekir. BaÅŸka bir deyiÅŸle, PHP programının veri ile arasında bir yol açması gerekir. MySQL açısından ise bu baÄŸlantı, veri sunucusunda yeni bir oturum açılması anlamına gelir. İki program arasındaki bu iliÅŸkiyi PHP’nin mysql_connect() fonksiyonu yapar. Bu fonksiyonun alabileceÄŸi üç parametre vardır:

$veri_yolu = mysql_connect
(”localhost” , “root” , “parola” ); Burada “localhost” yerine MySQL programının parçası olarak çalıştığı sunucunun adı yazılır.
“root” bu MySQL sunucusunda açılacak oturumun kimin adına açılacağını belirter. “root” kelimesi, sunucunun yönetici olarak oturum açılacağı anlamına gelir:
“parola” kelimesinin yerine de MySQL’i kurarken belirlediÄŸimiz bir kullanıcı parolası varsa, onu yazarız.

Bu komutta yer alan $veri_yolu değişkeni, açılacak veri yolunun, PHP ile MySQL veritabanı sunucusu arasındaki bağın tanıtıcı işareti olacaktır.

Bu bağlantı kurulduktan sonra, açtığımız veri yolundan gelecek bilgiler ve veritabanına gidecek bilgiler bu değişken aracılığıyla gerçekleşecektir.

Veri sunucusu ile veri yolu bağlantısı kurulursa, bu değişken değer tutar hale gelir; bağlantı kurulamazsa bu değişken boş kalır.

mysql_connect() fonksiyonunun başarılı olup olmadığını bu değişkenin durumunu sınayarak anlayabiliriz.

Örneğin:
$veri_yolu =mysql_connect(”coni”, “root”); if ( ! $veri_yolu) die (”MySQL ile veri baÄŸlantısı kurulamıyor!);

Burada veri sunucusunun bulunduÄŸu Web sunucusunun adının “coni” olduÄŸuna, ve ooturumun “root” yetkileriyle açıldığına dikkat edin. İkinci satırdaki if deyimi, $veri_yolu deÄŸiÅŸkeninin deÄŸer içerip içermediÄŸine bakıyor ve deÄŸiÅŸkende bir deÄŸer yoksa, baÄŸlantı kurma giriÅŸini durdurarak, ziyaretçiye hata mesajı gönderiyor.

Bağlantı başarıyla kurulduktan sonra PHP programı, bu yoldan, veritabanı sunucusuna, hangi veritabanı dosyasından yararlanmak istediğini bildirmelidir. Buna veritabanı dosyası seçme işlemi denir ve mysql_select_db() fonksiyonu ile yapılır:

mysql_select_db( “veritabanın_adı” , $veri_yolu ) or die (”Veritabanı açılamıyor!”.mysql_error() );

Bu fonksiyonun başarıyla icra edilip edilmediği fonksiyondan dönen değerin true/doğru veya false/yanlış olmasından anlarız.

Bu deÄŸer false ise bu deyimin die() bölümü icra edilecek ve Browser penceresine veritabanının açılamadığı mesajıyla birlikte MySQL’in hata mesajı da gönderilecektir.

PHP’nin MySQL veritabanını seçememesi çoÄŸu zaman kullanıcı yetkilerinin Internet ziyaretçilerini kapsayacak ÅŸekimde düzenlenmemiÅŸ olmasından kaynaklanır. Bu durum gerçek Web sunucusunda ortaya çıkarsa, Web sunucusu yönetimine baÅŸvurmak gerekir.

http://www.vebsa.net

Sql de in kullanımı

Sql’de in istediÄŸimiz sütunda belirtiÄŸimiz alanda, kriteri içeren veriyi elde etmemizi saÄŸlar. AÅŸağıdaki yapıya sahip bir tablomuz olsun.

uyeler tablosu:

KOD:

no | ad | sehir

1 - altayalp - mersin
2 - engin - istanbul
3 - volkan - malatya
4 - turgay - ankara

Bu tabloda adı altayalp veya volkan olan üyeleri listelemek için:

KOD:

Select * from uyeler where ad=’altayalp’ or ad=’volkan’

Şeklinde bir sorgu yazarız. Bu sorgu sonucu aşağıdaki gibi bir sonuç döndürecektir:

KOD:

no | ad | sehir

1 - altayalp - mersin
3 - volkan - malatya

Bu sonucu in ile daha kolay elde ederiz:

KOD:

Select * from uyeler where ad in(’altayalp’, ‘volkan’)

Bu sorgu da aynı şekilde aşağıdaki sonucu döndürür:

KOD:

no | ad | sehir

1 - altayalp - mersin
3 - volkan - malatya

Eğer üye numarası 2 ve 4 olan kayıtları listelemek istersek, sorgumuz şu şekilde olacak:

KOD:

Select * from uyeler where no in(2,4)

Bu sorgu da şu sonucu döndürür:

KOD:

no | ad | sehir

2 - engin - istanbul
4 - turgay - ankara

Kolay gelsin.

|