Posted in MySQL

PHP ile MySQL kullanmak


Buraya kadar PHP ve MySQL’e giriş yaptım. Buradan sonra artık web üzerinde akrobasi yapmaya başlayabiliriz😉.
Aslında veritabanlarının çok çeşitli kullanımları olsa da ben genelde çerez yollama, sayaç, ziyaretçi defteri, parolalı giriş ve kullanıcı kaydı gibi konular üzerinde duracağım. Buradan sonra artık yeni işlev kullansam bile çok nadir olarak kullandığım yeni işlevin kullanım şeklini açıklayacağım (Bu belgeyi buraya kadar okumuş ve kendi çabaları ile bir şeyler yapmış birisi için buna ihtiyaç olacağını da sanmıyorum zaten ;)). Bu bölüm genelde yazacağım örnekler ve bu örneklerin açıklamaları halinde olacaktır.
İlk önce MySQL bölümünde kullandığım “kullanicilar” adlı tablodan PHP ile veri alma, veri silme ve veri yükleme işlemlerini gerçekleştirelim. Aşağıda “kullanicilar” tablosunu bir hatırlatma olsun diye tekrar verdim.
+—-+————–+———+————————+——-+
| no | Ad | Soyad | eposta | bolum |
+—-+————–+———+————————+——-+
| 1 | Fehmi Noyan | ISI | fni18444@gantep.edu.tr | eee |
| 2 | Mehmet | Korkmaz | kormkaz@linux.org.tr | pe |
| 3 | Adem | Sarnici | a_sarnici@yahoo.com | pe |
| 4 | Seckin Fatih | Solgun | sf_solgun@freebsd.org | me |
+—-+————–+———+————————+——-+
Önce PHP ile veritabanına bağlanma ve veri alma işlemlerini ele alalım. PHP ile MySQL’e bağlanmak için mysql_connect() işlevi kullanılır.
<?
#################
# mysql.php #
#################

/* mysql’e bağlanma islemi */
@mysql_connect(“localhost”, ”kullanici”, ”parola”)
or die (“Veritabanına bağlanırken bir hata oluştu!”);

/* mysql’de kendi veritabanimizi secim islemi */
@mysql_select_db(“base”)
or die(“Veritanında bir hata oluştu!”);

$sira = 0;
while ($sira < 4)
{
/* mysql’e sorgu gönderiliyor ve bu sorgudan gelen degerler bir degiskene atanıyor.
$sorgu = mysql_query(“select * from kullanicilar”);
$ad = mysql_result($sorgu, $sira, ’Ad’);
echo “$ad <br>”;
$sira++;
}
?>
Yukarıdaki PHP dosyası bizim kendi sunucumuz üzerindeki MySQL sunucusuna kullanici kullanıcı adı ve parola parolası ile bağlanıyor. Komutların başındaki @ işareti komutun işletilmesinde bir hata oluşursa ekrana hata mesajının basılmaması içindir. Onun yerine kendi belirlediğimiz hata mesajını or die kalıbı ile verebiliyoruz. Bağlanma işleminden sonra mysql_select_db (mysql’deki use base gibi) işlevi ile kendi veritabanımıza geçiyoruz.
Buradan sonra sira bir adlı bir değişkene 0(sıfır) değerini atadım. Bunun amacı MySQL’de işlem yapılan satırların sıfırdan itibaren bir satır sayısı almalarıdır. (Ben örneğimde while döngüsünde koşulu $sira < 4 şeklinde tanımladım ama normalde bir tabloda kaç satır olduğunu bilmeniz mümkün olmayabilir. Ben satır sayısını bildiğim için böyle bir yol seçtim.)
Döngü içerisinde $sorgu adlı değişkene mysql_query() işlevi ile SQL’den alınan bilgiler atanıyor. Daha sonra mysql_result() işlevi ile bu bilgilerden istek doğrultusundan ayıklama yapılıyor. mysql_result() işlevinin işleyiş tarzını bir düzleme benzetirsek:

$sorgu adındaki bilgilerin olduğu düzleme git.

$sira ile belirtilen satırdan

Ad sütunundaki bilgiyi al.
şeklinde bir yorum yapılabilir. mysql_query() sorgusu ile alnan sonuçlar mysql_result() ile ayıklanır. $ad değişkenine atanan değerler alt alta ekrana basılıyor. Daha sonra $sira değişkeni bir arttırılıyor (aksi taktirde sonsuz bir döngü içine girilir!) ve döngüden çıkılıyor.
Şimdi de kafamızda hayali bir senaryo oluşturup bu senaryoya göre bir HTML dosyası ve bu dosyadan veri alan bir PHP dosyası yapalım. Kullanıcı kaydı tutan bir web formu ve bu formdan bilgi alacak PHP dosyasını oluşturalım. Ama daha önce bu bilgilerin kaydedileceği SQL tablosunu oluşturalım.
$ mysql –h localhost –u kullanici –p
Enter Password:

mysql> use base;

Database changed
mysql> create table kayit
-> (no int auto_increment, kullaniciadi varchar(15),
-> sifre(25), eposta(25), primary key(no));

mysql> quit
Yukarıda komut satırından mysql’e bağlanıp kayit isimli bir tablo oluşturdum. Şimdi sıra HTML form dosyamızda.
<!– kayit.html –>
<html>
<body bgcolor=”#FFFFFF” text=”#000000″>
<form action=”kayit.php” method=”post”>
<b>Kullanıcı Adınız:</b><input type=”text” name=”u_name” size=”20″><br>
<b>Parolanız:</b><input type=”password” name=”pass” size=”20″><br>
<b>e-posta adresiniz:</b><input type=”text” name=”mail” size=”20″><br>
<input type=”submit” value=” Kayıt “>
</form>
</body>
</html>
<?
/* kayit.php */

@mysql_connect(“localhost”, “kullanici”, “parola”)
or die(“Veritabani ile baglanti kurulamadi!”);
@mysql_select_db(“base”)
or die(“Veritabaninda bir hata olustu!”);

@mysql_query(“insert into kayit values(‘’,’$u_name’,’$pass’,’$mail’)”);
echo “<center><b>Bilgileriniz varitabanina kaydedildi.</b></center>”;
require(“./kayit.html”);
?>
Yukarıdaki PHP dosyası form ile gelen bilgileri veritabanındaki kayit adlı tabloya kaydediyor.
Kayıt işleminden sonra ekrana işlemin başarı ile gerçekleştirildiğine dair bir mesaj geliyor ve formu içeren HTML dosyası tekrar ekrana basılıyor.
MySQL’de tablo yenileme (update) ve veri silme (delete) komutları da mysql_query() işlevi ile kullanılır. Yani normal olarak SQL sorgusu gönderiliyor.
Burada sonra artık örnek uygulamalara geçiyorum.
Yeni bölüme başlamadan önce size phpinfo() işlevinden biraz söz etmek istiyorum. Yapmanız gereken tek şey bir PHP dosyası için <? phpinfo(); ?> yazıp kaydetmek. Üzerinde çalıştığınız sunucunun birçok özelliğini ve PHP ile birlikte kullanabileceğiniz birçok faydalı değişkeni bu işlev altında bulabilirsiniz.

Müəllif:

Graphic Designer

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

%s qoşulma