PHP - MySQL Bağlantısı (MySQL Connection)
PHP sayfalatında veritabanından yararlanabilmek için önce Web sunucusu aracılığıyla veritabanı dosyası ile bağlantı kurması gerekir. Bu bağlantıya veriyolu ismi de verilebilir. MySQL açısından ise bu bağlantı, veri sunucusunda yeni bir oturum açılması anlamına gelmektedir. İki program arasındaki bu ilişkiyi mysql_connect() fonksiyonu yapmaktadır.
<? $veriyolu = mysql_connect ("localhost" , "root" , "şifre" );
?> Bu fonksiyonun alabileceği üç parametre almaktadır.
"localhost" : Sunucunun adını belirtmektedir.
"şifre" : MySQL'i kurulurken belirlenen bir şifre varsa bu bölüme yazılmalıdır.
$veriyolu değişkeni ile PHP ile MySQL veritabanı arasındaki bağlantı sağlanacaktır. Bu bağlantı kurulduktan sonra, açılan veri yolundan gelecek bilgiler ve veritabanına gidecek bilgiler bu değişken aracılığıyla gerçekleştirilecektir. 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ığı, durumunu kontrol edilerek anlaşılmaktadır. Örnek olarak;
<? $veriyolu =mysql_connect("ipucu", "root");
if (! $veriyolu) die ("MySQL ile veri bağlantısı kurulamıyor! Nedeni:".mysql_error());
?>
Burada veri sunucusunun bulunduğu Web sunucusunun adının "ipucu" ve oturumun "root" yetkileriyle açılmaktadır.İkinci satırdaki if deyimi, $veriyolu değişkeninin değer içerip içermediğini kontrol ediyor ve değer yoksa, bağlantı kurma işlemini durdurarak, kullanıcıya hatanın ne olduğunu 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ı_adı" , $veriyolu ) or die ("Veritabanı açılamıyor. Sebebi: ".mysql_error() );
?>
Bu fonksiyonun başarıyla icra edilip edilmediği fonksiyondan dönen değerin doğru veya yanlış olmasından anlaşılmaktadır. Bu değer yanlış ise die() bölümü icra edilecek ve Browser penceresine veritabanının açılamadığı mesajıyla bu hatanın neden kaynaklandığı 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.
Veriyolu düzgün bir şekilde açıldıktan sonra istenilen veritabanı işlemleri yapılabilmektedir. Bunun için standart SQL komutları kullanılmaktadır.
Örnek bir uygulama aşağıda gösterilmiştir.
<?
$sql="SELECT ad,soyad FROM tablo1";
$veriseti = mysql_query($sql);
while ($mysatir = mysql_fetch_row($veriseti)) {
echo $mysatir[0]." ".$mysatir[1]."<br>"; }
Yukarıdaki örnekte tablo1 tablosundaki ad ve soyad değerleri sorgu ile $veriseti değişkenşine atanmış ve while döngüsü her satır ayrı ayrı yazdırılmıştır.
mysql_fetch_row($veriseti) : Komutu verisetinde bulunan verilerin satır satır çekilmesini sağlamaktadır. |