Php Dersleri : Php İle Mysql Veritabanından Bilgi Çekme

advertisement
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.net
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.net
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.net
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.net
Php İle Mysql Veritabanından Bilgi
Çekme
4
Php İle Mysql Veritabanından Bilgi Çekme
Kaynak:Baturay Daylak
www.dijitalders.net
Php İle Mysql Veritabanından Bilgi
Çekme
5
Download