PHP ile MySQL veritabanı sunucusuna bağlanmak için mysql_connect fonksiyonu kullanılır. Kullanımı aşağıdaki gibidir.
mysql_connect($sunucu, $kullanici, $sifre);
Bu fonksiyon 3 parametre alır.
Bu fonksiyondan geriye boolean türünde bir değer döner. Eğer bağlantı başarılı ise true (1), bşarısız ise false (0) döner.
PHP ile MySQL veritabanı sunucusuna aşağıdaki bilgilerle bağlanalım.
Sunucu: localhost
Kullanıcı: root
şifre: 1234
<html> <head> <title>İlk MySQL Bağlantım</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php if (@mysql_connect("localhost","root","1234")==true) echo "MySQL ile bağlantı başarılı."; else echo "Hata: Bağlantı başarısız!"; ?> </body> </html>
Buradaki @ işareti uyarı mesajını ekranda gizlemek için kullanılır.
Bu örneğimizi biraz geliştirelim ve hata oluşursa hata mesajını ekranda mysql_error() fonksiyonu ile gösterelim.
<html> <head> <title>İlk MySQL Bağlantım</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php $sunucu="localhost"; $kullanici="root"; $sifre="1234"; if (@mysql_connect($sunucu,$kullanici,$sifre)==true) echo "MySQL ile bağlantı başarılı."; else{ echo "<b>Hata</b>: Bağlantı başarısız!<br>"; echo "<b>Hata açıklaması</b>: ".mysql_error(); } ?> </body> </html>
Eğer MySQL fonksiyonlarından birinde hata oluşursa bu hata mesajı mysql_error() fonksiyonu ile alınabilmektedir.
Eğer sayfamızdaki işlemlerin yapılabilmesi için veritabanı bağlantısı gerekiyorsa ve veritabanına bağlanılamazsa hata mesajı ekrana yazdırılır ve sayfanın çalışması durdurulur. Yani sonraki kodları çalışmasına izin verilmez. Şimdi kodumuzu bu işlemleri yapacak şekilde tekrar yazalım.
<html> <head> <title>İlk MySQL Bağlantım</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php $sunucu="localhost"; $kullanici="root"; $sifre="1234"; if (@mysql_connect($sunucu,$kullanici,$sifre)==false){ $mesaj="<b>Hata</b>: Bağlantı başarısız!<br>"; $mesaj.="<b>Hata açıklaması</b>: ".mysql_error(); die($mesaj); } echo "Bu mesajı ekranda görüyorsanız bağlantınız başarılıdır.<br>"; echo "Burada veritabanı ile istediğiniz işlemleri yapabilirsiniz."; ?> </body> </html>
die($mesaj); fonksiyonu bir mesajla sayfanın çalışmasını durdurmak için kullanılır.
Gerçek uygulamalarda veritabanı bilgileri ayrı bir dosyada saklanır. Bu dosya bağlantının yapılacağı yere eklenir ve bağlantıda kullanılır. Bu dosyaların adı genelde config.php'dir. Bir php sayfasını başka bir sayfaya eklemek için include($dosya_adi); fonksiyonu kullanılır. Burada tabiki 2 tane dosyamız olacaktır.
<?php // bu dosya config.php dosyasıdır. $sunucu="localhost"; $kullanici="root"; $sifre="1234"; ?>
<!--bu dosya index.php dosyasıdır.--> <html> <head> <title>İlk MySQL Bağlantım</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php include("config.php"); if (@mysql_connect($sunucu,$kullanici,$sifre)==false){ $mesaj="<b>Hata</b>: Bağlantı başarısız!<br>"; $mesaj.="<b>Hata açıklaması</b>: ".mysql_error(); die($mesaj); } echo "Bu mesajı ekranda görüyorsanız bağlantınız başarılıdır.<br>"; echo "Burada veritabanı ile istediğiniz işlemleri yapabilirsiniz."; ?> </body> </html>
config.php dosyası sayesinde yapılandırma ayarları kolaylıkla yapılabilmektedir. Veritabanı bağlantısı yapılan her yerde bu dosya include edilir. Bu dosyada değişiklik yapıldığında, include edildiği her yerde bu değişiklik geçerli olacaktır.
MySQL ile bağlantı yapıldıktan sonra ilk olarak kullanılacak veritabanı seçilmelidir. Kullanılacak veritabanını seçmek için mysql_select_db($veritabani); fonksiyonu kullanılır. Bu fonksiyon, işlem başarılı ise true, başarısız ise false değerini döndürür.
Örneğimizde MySQL veritabanına bağlanıp, kullanacağımız okul isimli veritabanını seçelim.
<?php // bu dosya config.php dosyasıdır. $sunucu="localhost"; $kullanici="root"; $sifre="1234"; $veritabani="okul"; ?>
<!--bu dosya index.php dosyasıdır.--> <html> <head> <title>İlk MySQL Bağlantım</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php include("config.php"); if (@mysql_connect($sunucu,$kullanici,$sifre)==false){ $mesaj="<b>Hata</b>: Bağlantı başarısız!<br>"; $mesaj.="<b>Hata açıklaması</b>: ".mysql_error(); die($mesaj); } if (@mysql_select_db($veritabani)==false){ $mesaj="<b>Hata</b>: $veritabani veritabanı seçilemedi!<br>"; $mesaj.="<b>Hata açıklaması</b>: ".mysql_error(); die($mesaj); } echo "Bu mesajı ekranda görüyorsanız bağlantınız ve veritabanı seçiminiz başarılıdır.<br>"; echo "Burada veritabanı ile istediğiniz işlemleri yapabilirsiniz."; ?> </body> </html>
Hatta bağlantıyı yapan tüm kodları tek bir dosyada toplayıp bunu istediğiniz yere include edebilirsiniz. Dosya adı olarak baglan.php kullanılabilir.
<?php // bu dosya baglan.php dosyasıdır. $sunucu="localhost"; $kullanici="root"; $sifre="1234"; $veritabani="okul"; if (@mysql_connect($sunucu,$kullanici,$sifre)==false){ $mesaj="<b>Hata</b>: Bağlantı başarısız!<br>"; $mesaj.="<b>Hata açıklaması</b>: ".mysql_error(); die($mesaj); } if (@mysql_select_db($veritabani)==false){ $mesaj="<b>Hata</b>: $veritabani veritabanı seçilemedi!<br>"; $mesaj.="<b>Hata açıklaması</b>: ".mysql_error(); die($mesaj); } ?>
Eğer burada bağlantı başarılı ise ekranda hiçbir şey görünmeyecektir. Aksi halde hata mesajı ekranda görünecektir.
Yeni bir programlama yaklaşımı olan nesneye yönelik programlamada genelde veritabanı işlemleri için bir class yazılır ve bu class'dan üretilen nesnelerle veritabanı işlemleri yapılmaktadır. İlerleyen derslerimizde bu konu da işlenecektir.
Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache
PHP
MySQL
PhpMyAdmin
EasyPHP
Xampp
AppServ
Wamp
W3School
www.phpdefteri.com © 2010