Php İle Mysql Veritabanından Bilgi Çekme

Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları

Php İle Mysql Veritabanından Bilgi Çekme Uygulamada kullanacağımız veritabanı

Veritabanı: kitaplik
Tablo: kitaplar
isbn adi yazari
944503382 Adım Adım Access 2000 X
881192131 Sabahın Körü 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)!=0)
{
    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)!=0)
{
    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] 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)!=0)
{
    while($oku = mysql_fetch_row($sonuc))
    {
        echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku[0]."<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)!=0)
{
    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);

?>
 

 

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 = 0;

if($satir!=0)
{
    while($basla<=$satir)
    {
        echo "Kitap adi: ".mysql_result($sonuc,$basla); //her satırdaki adi kolonu
        $basla++;
    }
}else{
    echo "Hic kayit yok!";
}

mysql_close($conn);

?>

 

mysql_fetch_object

 

Şurada bir bağlantı örneği var.


Kaynak:Baturay Daylak

 

 

 

Yorumunuzu Ekleyin
Php İle Mysql Veritabanından Bilgi Çekme Yorumları +7 Yorum
  • Halis
    1
    Halis
    nesne yönelimli olarak veri çekerken assoc kullanıyodum bi türlü ekrana veri yazdıramadım aradığım şey fetch_object mi bnm için çok yararlı oldu teşekkürler
    16 Ekim 2012 14:42:16, Salı
  • selim
    1
    selim
    merhaba ben basit bir rezervasyon sistemi yapacağım, dönem ödevim olduğu için erkenden yapmam lazım. anlatıyorum... veri tabanındaki rezervasyon tablosunda oda seçeneğinden gelen veriye göre hareket edeceğim yani bu sayfada yazağım kodların algoritması şöyle olacak... sayfa load olduğunda veri tabanı kontrol edilecek "oda" alanında 1 var mı var ise 1. radio yu disable yap , 2 var mı var i ise 2. radio yu disable yap yok ise birşey yapma .... bu şekilde olacak sadece oraya yazacağım kodlar hakkında yardımcı olsan çok minnettar olacağım
    12 Aralık 2012 22:30:41, Çarşamba
  • Salih
    1
    Salih
    Verdiğiniz bilgiler için teşekkürler. Benim bikaç sorum olacak elimde cms çince sistemler var çinin baidu haritasını kullanıyor bende yerine yandex haritalarını kullanmak istiyorum haritada konumları elle girmek gerekiyor fakat her kullanıcının farklı adresleri var bunuda sqlden çekmek istedim olmadı... Bana yardımcı olabilirmisiniz?
    04 Nisan 2013 21:19:43, Perşembe
  • sdfsdfs
    1
    sdfsdfs
    En İyisi Sheel :
    14 Haziran 2014 18:33:39, Cumartesi
  • ufuk
    1
    ufuk
    Paylaşım için teşekkürler, Benim sorum şu şekilde olucak; veri çekmek için neden aynı işi yapan bu kadar fonksiyona ihtiyaç duyulmuştur? Acaba bu fonksiyonların birbirine göre veri çekme işlemini yaparken bir güvenlik zaafiyet dereceleri var mıdır? Hangisini kullanmalıyız?
    15 Haziran 2014 05:31:17, Pazar
  • ozge
    1
    ozge
    Çok faydalı bir yazı olmuş. Elinize sağlık. Tez konumda bana faydası olacak bayaaa http://www.ledtvfiyatlari.net/
    29 Eylül 2014 12:20:43, Pazartesi
  • cem
    1
    cem
    merhabalar arkadaslar gunlerdir yapamadigim bir sorunu sizlerle paylasmak istiyorum.

    benim bir sitem var ve siteye kayitli olan br kisi siteye ilan verdi diyelim ve siteye verilen ilaniben ilan verenin kac ilan verdigini ona rakam olarak gostermek istiyorum. yani toplamornek diyeleim

    verilen ilan 1diye yazdirmak istiyorum tabi her ilan verdiginde bu rakamlar artacak ilan durumuna gore,,php bilgim fazla degim girilienilani rakam ile gostermek istiyorum. yardim icin cok tesekurler...
    08 Kasım 2015 11:28:34, Pazar

PHP Data Objects (PDO) Nedir?
Yükleniyor...