Mysql İle Veritabanı Bağlantı Fonksiyonları
Mysql_result, mysql_fetch_array, mysql_fetch_row, mysql_fetch_object
1. mysql_result
mysql_result(), bir MySQL sonuç kümesinden bir hücrenin içeriğini döndürür.
Büyük sonuç kümeleri üzerinde çalışıldığında, tüm satırı getirecek fonksiyonlardan biri kullanılmalıdır. Bir fonksiyon çağrımında bu fonksiyonlar birden çok hücrenin içeriğini döndüreceğinden, bunlar, mysql_result()'tan çok daha hızlı olacaktır.
Ayrıca saha değişkeni için sayısal bir değer belirlemenin, bir saha ismi veya SahaIsmi TabloIsmi değişkeni belirlemeden daha hızlı olduğu unutulmamalıdır
<?php
$sql="select * from table";
$sorgu=mysql_query($sql,$baglantim);
$deger=mysql_result($sorgu,0,0);
echo $deger;
?>
0,0 ile ilk satırdaki ilk alanın değeri
$deger=mysql_result($sorgu,0,0);
mysql_result(sorgumuz, satır, sütun);
2. mysql_fetch_row ()
Veritabanından SQL komutları ile seçilen kayıtların programa döndürülmesi mysql_fetch_row () fonksiyonu ile sağlanır.
$getirilen_satir = mysql_fetch_row($sonuc_seti);
PHP kendi içinde bir işaretleyici kullanarak bir önceki mysql_fetch_row() fonksiyonun döndürüldüğü satırı bilmektedir. Böylece her seferinde bu fonksiyon çağırıldığında bir sonraki satıra geçilmektedir. Artık geçecek satır kalmadığında bu fonksiyon false yani yanlış değerini döndürür
<?php
$sonuc = mysql_query("SELECT id, email FROM people WHERE name = 'tolga'");
if (!$sonuc) {
echo 'Hatalı sorgu : ' . mysql_error();
exit;
}
$sorgu_satiri = mysql_fetch_row($sonuc);
echo $sorgu_satiri[0]; // 42 yani tolganın id'si
echo $sorgu_satiri[1]; // tolganın email i
?>
3. mysql_fetch_array
Bir birleşmiş dizi gibi bir sonuç satırını getirir.
array mysql_fetch_array(int result, int [result_type]);
Getirilen satıra uyan bir dizi veya daha fazla satır yoksa false geri döner.
mysql_fetch_array(), mysql_fetch_row()' un genişletilmiş bir versiyonudur. Sonuç dizinin sayısal göstergelerinde saklanan veriye ek olarak, saha isimlerini anahtar olarak kullanarak, ilişkili göstergelerde veriyi de saklar. mysql_fetch_array() kullanmak, mysql_fetch_row() kullanmaktan önemli düzeyde yavaş değildir
Eger sonucun bir veya daha fazla sütunu aynı saha isimlerine sahipse, son sütun önceliği alır. Aynı ismin diğer sütunlarına erişmek için, sütunun sayısal indeks' i mevcut olmalı veya sütun için başka bir isim tanımlanmalıdır.
<?php
mysql_connect($host,$user,$password);
$sonuc = mysql_db_query("database","select * from table");
while($row = mysql_fetch_array($sonuc)) {
echo $sorgu_satiri["uye_id"];
echo $sorgu_satiri["uye_isim"];
}
mysql_free_result($sonuc);
?>
4. mysql_fetch_object
Nesne formunda bir sonuç satırı getirir.object mysql_fetch_object(int result, int [result_type] );
Getirilen satırla ilişkili olan özellikleri ile bir nesne veya daha fazla satır yoksa false döndürür.
mysql_fetch_object(), mysql_fetch_array()' e çok benzer. Tek farkı, bir dizi yerine tek bir nesnenin geri dönmesidir. Dolaylı olarak, bu, veriye onların ofsetleri (sayılar yasal olmayan özellik isimleridir) ile değil, sadece saha isimleriyle erişilebileceği anlamına gelir.
Seçimli değişken olan result_typ bir sabittir ve şu değerleri alabilir: MYSQL_ASSOC, MYSQL_NUM, ve MYSQL_BOTH.
Fonksiyonun hızı, mysql_fetch_array() ile aynıdır ve hemen hemen mysql_fetch_row() kadar hızlıdır. (aradaki fark önemsiz derecede azdır).
<?php
mysql_connect($host,$user,$password);
$result = mysql_db_query("database","select * from table");
while($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>
<?php
$Sorgu=mysql_query("SELECT * FROM sozler");
//Sorgudan Tek hücre değeri almak için
echo mysql_result($Sorgu, 5, 2); //6. Satir 3. sutundaki veri
// Sorgudan Tek satır değeri almak için
$Sonuc=mysql_fetch_row($Sorgu);
echo $Sonuc[2]; // tek satır döndürür 3. kolondaki bilgi
// Sorgudan tüm kayıtları diziye almak için
while($Sonuc=mysql_fetch_array($Sorgu, MYSQL_NUM)){
//echo "{$Sonuc['soz']} {$Sonuc['soyleyen']} <br />";
//echo $Sonuc["soz"]." ".$Sonuc["soyleyen"];
}
while($Sonuc=mysql_fetch_object($Sorgu)){
echo "$Sonuc->soz $Sonuc->soyleyen <br />";
//echo $Sonuc["soz"]." ".$Sonuc["soyleyen"];
}
mysql_free_result($Sorgu); // sorgu bellekten temizleniyor
?>
Gönderen : Burak DEMİRÖZ