Php İle Mysql Veritabanından Bilgi Çekme Php İle Mysql Veritabanından Bilgi Çekme Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları Uygulamada kullanacağımız veritabanı Veritabanı: kitaplik Tablo: kitaplar isbn adi 944503382 Adım Adım Access 2000 881192131 Sabahın Körü yazari X Y baglan.php <?php $user = "root"; //veritabanı kullanıcı adı $pwd = "1234"; //veritabanı şifresi $host = "localhost"; //mysql server $db = "kitaplik"; //veritabanı adı $conn = mysql_connect($host,$user,$pwd) or die("MySQL sunucusuna baglanilamadi!!!".mysql_error()); mysql_select_db($db) or die("Veritabani secilemedi!!!".mysql_error()); ?> baglan.php dosyası, veritabanına bağlantının yapılmasını sağlayan blokları içeren dosyamızdır. böylece her sayfada bu kodları yeniden yazmak yerine sadece sayfaya dahil edeceğiz. mysql_fetch_assoc mysql_fetch_assoc, mysql_query ile dönen sonuç kümesini işleyerek her satırı diziye aktarır. Dizi elemanlarının index anahtarları ise, sütun isimlerinden oluşur. Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_assoc, bilgileri $oku isimli bir dizi oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri $oku['sutun_adi'] formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz. <?php require_once("./baglan.php"); $sonuc = mysql_query("select isbn,adi from kitaplar"); if(mysql_num_rows($sonuc)!=) { www.dijitalders.com Php İle Mysql Veritabanından Bilgi Çekme 1 Php İle Mysql Veritabanından Bilgi Çekme while($oku = mysql_fetch_assoc($sonuc)) { echo "Kitap adi: ".$oku["adi"]."<br>Kitap ISBN: ".$oku["isbn"]."<br><br>"; //echo $.oku["yazari"]; //bu satir hatalidir cunku sql sorgumuzda yazari alanini secmedik } }else{ echo "Hic kayit yok!"; } mysql_close($conn); ?> mysql_fetch_object(); mysql_fetch_object, mysql_query ile dönen sonuç kümesini işleyerek her satırı oluşturulan nesneye sütun adıyla özellik şeklinde aktarır. Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_object, bilgileri $oku isimli bir nesne oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri nesne yönelimli mantıkla $oku->sutun_adi formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz. <?php require_once("./baglan.php"); $sonuc = mysql_query("select isbn,adi from kitaplar"); if(mysql_num_rows($sonuc)!=) { while($oku = mysql_fetch_object($sonuc)) { echo "Kitap adi: ".$oku->adi."<br>Kitap ISBN: ".$oku->isbn."<br><br>"; //echo $.oku->yazari; //bu satir hatalidir cunku sql sorgumuzda yazari alanini secmedik } }else{ echo "Hic kayit yok!"; } mysql_close($conn); ?> mysql_fetch_row mysql_fetch_row, mysql_query ile dönen sonuç kümesini işleyerek her satırı diziye aktarır. Dizi elemanlarının index anahtarları, sorgudaki çekilme sıralarına göre sıfırdan başlayarak devam eder.Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_row, bilgileri $oku isimli bir dizi oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri $oku[0] www.dijitalders.com Php İle Mysql Veritabanından Bilgi Çekme 2 Php İle Mysql Veritabanından Bilgi Çekme formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz. Dikkat edilmesi gereken nokta, index numaralarıdır. Gördüğünüz gibi isbn sütunu ilk çekildiği için 0 index numarasını almıştır. <?php require_once("./baglan.php"); $sonuc = mysql_query("select isbn,adi from kitaplar"); if(mysql_num_rows($sonuc)!=) { while($oku = mysql_fetch_row($sonuc)) { echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku[]."<br><br>"; //echo $.oku[2]; //bu satir hatalidir cunku sql sorgumuzda üçüncü bir alan(yazari alanini) secmedik } }else{ echo "Hic kayit yok!"; } mysql_close($conn); ?> mysql_fetch_array() mysql_fetch_array, mysql_fetch_assoc ve mysql_fetch_row fonksiyonlarının birleştirilmiş hali olarak düşünülebilir. Kullanım sırasında aldığı ikinci parametre (MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH) diziye erişim sırasında kullnacağınız index anahtarı tipini belirlemenizi sağlar. <?php require_once("./baglan.php"); $sonuc = mysql_query("select isbn,adi from kitaplar"); if(mysql_num_rows($sonuc)!=) { while($oku = mysql_fetch_array($sonuc,MYSQL_BOTH)) { echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku["isbn"]."<br><br>"; //echo $.oku[2]; //bu satir hatalidir cunku sql sorgumuzda üçüncü bir alan(yazari alanini) secmedik } }else{ echo "Hic kayit yok!"; } mysql_close($conn); ?> www.dijitalders.com Php İle Mysql Veritabanından Bilgi Çekme 3 Php İle Mysql Veritabanından Bilgi Çekme MYSQL_ASSOC Fonksiyon kullanımı mysql_fetch_assoc ile aynı olacaktır.Dizi elemanlarına sütun ismi ile ulaşılabilir MYSQL_NUM Fonksiyon kullanımı mysql_fetch_row ile aynı olacaktır.Dizi elemanlarına sütun numarası ile ulaşılabilir MYSQL_BOTH Dizi elemanlarına hem sütun adı hem sütun numarası ile ulaşılabilir mysql_result() mysql_result, sql sorgusundan tek bir sütun içeriğini çeker. Örneğimizde sadece adi sütunu üzerinde işlem yapacağız. Sorgudan hemen sonra sonuç kümesinin satır sayısını $satir içerisine alıyoruz ve $basla değişkenini sıfıra eşitliyoruz. Ardından sonuç kümesi satır sayısı sıfıra eşit değilse(boş değilse), okunan satır sayısı toplam satır sayısına eşitlenene kadar dönecek bir döngü bloğu içerisinde mysql_result kullanıyoruz. İşlemlerin sonunda mysql bağlantısını kapatıyoruz. <?php require_once("./baglan.php"); $sonuc = mysql_query("select adi from kitaplar"); $satir = mysql_num_rows($sonuc); $basla = ; if($satir!=) { while($basla<=$satir) { echo "Kitap adi: ".mysql_result($sonuc,$basla); //her satırdaki adi kolonu $basla++; } }else{ echo "Hic kayit yok!"; } mysql_close($conn); ?> www.dijitalders.com Php İle Mysql Veritabanından Bilgi Çekme 4 Php İle Mysql Veritabanından Bilgi Çekme Kaynak:Baturay Daylak www.dijitalders.com Php İle Mysql Veritabanından Bilgi Çekme 5