Anasayfa / Fotoğraf / PHP 51- Mysql Server Baglantısı

PHP 51- Mysql Server Baglantısı

PHP ile veritabanı işlemleri oldukça kolaydır. PHP her veritabanına özel fonksiyonlar barındırır. PHP ile mySQL veritabanı üzerinde işlem yapmak için yaklaşık 40 tane fonksiyon vardır. Ama genelde çoğu işlemi yapmak için bunların çoğuna ihtiyaç duymayız.


Bu makalede PHP ve mySQL ile standart işlemler nasıl yapılır onları inceleyeceğiz, bu yüzden temel SQL bilginiz ve sisteminizde Web Server, PHP, mySQL kurulu olduğunu ve PHP ile mySQL veritabanına bağlanıp artık veritabanına dayalı siteler yapmayı sabırsızlıkla beklediğinizi farzediyorum!

Veritabanımızı oluşturalım :
Öncelikle işlemlerimizi yapmak için veritabanımızı oluşturalım ve üzerinde işlem yapmak için bir iki kayıt ekleyelim bu işlemi yapmak için phpMyAdmin'i kullanabilir veya komut satırından bu işlemi halledebilirsiniz. Hangisini tercih ediyorsanız şu komutları kullanarak öncelikle yeni bir veritabanı ve veritabanı içinde boş bir tablo oluşturun.

Eğer işlemleri hiç hatasız bitirdiyseniz, veritabanımız, içinde ki bir adet tablosuyla artık erişilmeye hazır hale gelmiştir. Şimdi PHP ye geçebiliriz. (Aslında bu işlemleri bile PHP ile yapabilirdik ama biraz daha sabır...) PHP ile mySQL veritabanına erişmek ve veritabanını sorgulamak için bir kaç adımımız var;

1. PHP ile mySQL veritabanı sunucusuna bağlanmak
2. Kullanacağımız veritabanını seçmek
3. Sorguyu göndermek
4. Eğer sorgu sonucu varsa sonuçları almak

1-PHP ile mySQL veritabanı sunucusuna bağlanmak

PHP ile mySQL'e bağlantı sağlayan fonksiyon

$baglanti = mysql_connect (veritabanı sunucusu, veritabanı kullanıcısı, kullanıcı parolası);

Veritabanı sunucusu değeri, bağlanılacak veritabanı sunucusunun adıdır. Bu eğer bulunulan bilgisayar ise buraya "localhost" değeri verilir, eğer uzaktaki bir bilgisayardaki bir veritabanı sunucusuna bağlanılacaksa onun adresi yazılabilir mesela "www.seyretogren.com" gibi...

Veritabanı kullanıcısı, sistemde tanımlanmış mySQL kullanıcısı, parola ise bu kullanıcının parolasıdır. Böylece mySQL veritabanına izinsiz erişimler engellenir ve sadece tanımlanmış kullanıcılar veritabanına erişebilir. Bu özellikle uzaktaki bilgisayarlardaki veritabanlarına bile erişim sağlayan mySQL veritabanı güvenliği için çok önemli bir özelliktir.

Dikkat ettiyseniz veritab!nına bağlanan fonksiyon $baglanti isimli bir değişkene atanmış, bunun sebebi mysql_connect fonksiyonu veritabanı bağlantısı sağlarsa sağlanan bağlantıya bir özel değer atayacak (Link identifier diye geçer referanslarda) ve bundan sonra bu bağlantı bilgilerini bu değerden takip edecektir. Eğer bağlantı sağlanmazsa $baglanti değişkenine FALSE değer atanacaktır.

2- Kullanacağımız veritabanını seçmek

İkinci adımda ise veritabanı seçilmesi işlemi :
mysql_select_db ("veritabanı adı",$baglanti);

Oldukça basit bir kullanımı olan bu fonksiyon birinci parametresi ile bağlanılcak veritabanı adını ikinci parametresi ile kullanılacak mySQL bağlantı belirtecini alacaktır. Bağlantı belirteci (Link identifier) mysql_connect fonksiyonu ile sağlanan değerdir.

3- Sorguyu göndermek

$sorgu = mysql_query ("SELECT * FROM uyeler");

Veritabanına sorguyu göndermek için mysql_query
fonksiyonunu kullanıyoruz. mysql_query fonksiyonuna atanan $sorgu değişkenine ise eğer sorgu sonucunda bir kayıt dizisi dönerse onların bilgileri atılır. Unutulmaması gereken nokta eğer sorgu sonuç gönderiyorsa $sorgu değişkeni içinde doğrudan kayıtlar değil , kayıtlar ile ilgili bir belirteç bilgisi tutulmaktadır.

4-Eğer sorgu sonucu varsa sonuçları almak

$sonuç değişkeni bir önceki mysql_query kullanımından bir kayıt dizisi ile döndüğünü farzedelim, gelen kayıtları almak için bir kaç yolumuz var,

mysql_result () fonksiyonu
mysql_fetch_array fonksiyonu
mysql_fetch_row fonksiyonu gibi...

Temelde bu 3 fonksiyonda mysql_query den gelen $sorgu değişkenini parametre olarak alıp bu değişkenin tuttuğu kayıt setindeki kayıtlara ve alanlarına ulşamayı sağlar. Mesela sorgu sonucu dönen kayıtlar şunlardır;

+--------------------------------------------------------------------------+
| 1 | Mustafa | Karabulut | mkarabulut@test.net | 1979-03-29     |
| 1 | Şahin | Gür | admin@test.net | 1800-01-01                        |
| 1 | bill | Gates | billy@test.com | 2000-01-12                     |
+--------------------------------------------------------------------------+

$uye_isim = mysql_result ($sorgu,0,"uye_isim");

Yukarıdaki kod ile kayıt dizisinden 0 indisli - diziler 0 dan başlıyor, yani ilk kayıt 0.ıncı kayıt- kayıdın uye_isim alanındaki değeri $uye_isim değişkenine aktarıyoruz. Yani $uye_isim değişkenine "Mustafa" değeri atanıyor.
Aynı şekilde;
$uye_soyisim = mysql_result ($sorgu,0,"uye_soyisim");

kodu ile değişkene "Karabulut" değeri atanmış oldu. Diğer kayıtlara da aynı şekilde sadece indis değeri değişerek erişilebilinir yani
$uye_isim = mysql_result ($sorgu,1,"uye_isim");
ile $uye_isim değişkenine "Şahin" değeri atanmış oldu.

Yorum Yaz
Bu içeriği duvarında Paylaş
  • Bu içeriği arkadaşlarınla paylaş!
  • Yeni içerikler bul!