Cevaplar
-
$sorgu = mysql_query("Select * from tblUye"); while($sonuc = mysql_fecth_assoc($sorgu)) { echo $Sonuc[id]."<br>"; }
yukaridaki koddda tblUye tablosundaki butun verileri sayfana dokecektir. ben sadece id kısmını yazdirdim ayni sekilde butun alanlarini yazdirirsin.
$sorgu = mysql_query("Select * from tblUye WHERE id='1'"); $sonuc = mysql_fecth_assoc($sorgu); echo $Sonuc[id]."<br>";
yukaridaki sorguda tblUye tablosundaki id 'si 1 olan veriyi yazdirirsin sadece tek bir veri yazdirmak istedigin icin while kullanmana gerek yok. ben sadece id kismini yazdirdim ayni sekilde butun olanlarini yazdirirsin
mysql_fetch_object(), array, row(), assoc() hepsi ayni islemini yapicaktir.
KOlay gele.-
zyber
Merhaba,
bir kaydı ve tüm kayıtları aynı özellik ya da
mysql_fetch_object()
mysql_fetch_array()
mysql_fetch_row()
mysql_fetch_assoc()
lerden biri kullanarak açmak aynı olmamalıdır.
aynı olsa neden bu kadar özellik oluşturulsun ki?
Bunların herbirinin bir özelliği olmalıya da döndürdüğü sonuçlar açısından birbirlerine üstünlükleri vb. olmalı diye düşünüyorum.
Söylemek istediğim şu id değerini almak ya da tüm verileri sayfaya dökmek değil amacım yukarıdaki özelliklerin hangi işlemlerde doğru olarak kullanmayı öğrenmektir.12 yıl önce yazılmış -
kralmermi
//mysql_fetch_object örnegi mysql_connect("hostname", "user", "password"); mysql_select_db("mydb"); $result = mysql_query("select * from mytable"); while ($row = mysql_fetch_object($result)) { echo $row->user_id; echo $row->fullname; } mysql_free_result($result); //mysql_fetch_array örneği mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("ID: %s Name: %s", $row[0], $row[1]); } mysql_free_result($result); //mysql_fetch_row örnegi $result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } $row = mysql_fetch_row($result); echo $row[0]; // 42 echo $row[1]; // the email value //mysl_fetch_assoc() öneğinide ilk mesajimda gonderdim
sonuc olarak butun yollar aynı kapiya cikiyor işlev ayni hangi yoldan gitmek istedigine sen karar vericeksin ve ayni kapiya cikicaksin en con ve genelde array ve assoc kullanılıyoru. OOP(Nesne TAbanlı Programlama) yazanlar ise object kullaniyolar. row u daha once hiç kullanmadım.
Kolay gelsin12 yıl önce yazılmış
-
-
tabikide hepsinin ayrı görevleri olmasına rağmen temelde yaptıkları şey aynı sadece çekilen verilere ulaşma biçimini değiştiryor. Ör:
eğer "mysql_fetch_array" ı kullanırsan, gelen verinin sütun adına hem numara yazarak :$row[0] // id $row[1] // name
hem de sütun adını yazarak ulaşabilirsin:$row['id'] // id $row['name'] // name
bu kullanım büyük projelerde sıkıntı yaşatabilir çünkü aynı veri için 2 farklı array yaratılıyor.
eğer "mysql_fetch_assoc" kullanırsan verilere sadece sütun adı yazarak ulaşırsın:$row['id'] // id $row['name'] // name
eğer "mysql_fetch_row" kullanırsan verilere sadece sütun rakamı yazarak ulaşırsın:$row[0] // id $row[1] // name
ve son olarak "mysql_feth_object" kullanırsan aynı nesne tabanlı programlamadaki gibi verileri çekersin:$row->id // id $row->name // name
ilk başlarda farklarını bilmediğim için array kullanıyordum ama şimdi farklarını öğrendiğim için genelde assoc işimi rahatlıkla görüyor.-
zyber
Teşekkür ederim aslında aradığım tam da bu
php geçmişi ile konuyla ilgili tecrübe ve düşünceleri görmek.
Umarım konuyla ilgili diğer arkadaşlarda trcrübelerini bir kaç satırla da olsa paylaşırlar.12 yıl önce yazılmış
-
-
Şimdi şöyle bir genelleme yapabilir miyiz?
$result = mysql_query("SELECT * FROM tblUye WHERE id='1'");
şeklinde id numarasını çeken ya da mysql tablomuzda kayıtlı satırlaradan herhangi birini çekeceğimiz zaman
mutlaka (performans ve profesyonel bir kodlama için....)$row = mysql_fetch_row($result);
ile işlem yapılmalıdır. diyebilir miyiz? -
print_r ile ekrana yazdırarak bu fonksiyonların neler dönderdiğine bakabilirsin hem daha iyi kavramış olursun.
$sorgu = mysql_query("Select * from tablo"); print_r(mysql_fetch_object($sorgu)); print_r(mysql_fetch_array($sorgu)); print_r(mysql_fetch_row($sorgu)); print_r(mysql_fetch_assoc($sorgu));
-
zyber
hmm bunu bilmiyordum deneyeyim hemen12 yıl önce yazılmış -
zyber
sonuç
mysql_fetch_row Array ( [0] => 1 [1] => Ali [2] => YILMAZ )
mysql_fetch_assoc Array ( [id] => 1 [ad] => Ali [soyad] => YILMAZ )
mysql_fetch_object stdClass Object( [id] => 1 [ad] => Ali [soyad] => YILMAZ )
mysql_fetch_array Array( [0] => 1 [id] => 1 [1] => Ali [ad] => Ali [2] => YILMAZ [soyad] => YILMAZ )
Bir adım ilerledik. Katkısa bulunanlara teşekkürler.
Ancak şu soruma hala net bir cevap alamadım.
mysql databasemizdeki tbluye isimli tablomuzun içinde 100 tane satır-kayıt olsun
Tek sorgu ile 100 kaydı sayfada gösterirken mysql_fetch_row ya da mysql_fetch_assoc kullanmak mantıklı gibi...
peki bu 100 kayıttan sadece birini diyelimki id numarası 55 olan uye bilgilerini sayfada gösterirken where id=55.... hangisini seçmek gereklidir.
Bunu şu düşüncemden dolayı özellikle soruyorum.
1 kayıt çekmek ile 100 kaydı çekmede kullandığımız veri çekme metodu farklı olmalıdır diye düşünüyorum... yanılıyor muyum?12 yıl önce yazılmış
-