bir çok satır bir sütundan çıkış verilerine Mysql_Fetch_Assoc içinde değişken kullanarak.?

3 Cevap php

Ben böyle bir sorgu varsa

$query = mysql_query("
SELECT * FROM tbl_school
INNER JOIN tbl_livingexp ON (tbl_school.schoolname=tbl_livingexp.schoolname)
INNER JOIN tbl_tuition ON (tbl_school.schoolname=tbl_tuition.schoolname)
INNER JOIN tbl_apprequirments ON 
(tbl_school.schoolname=tbl_apprequirments.schoolname) 
where tbl_school.schoolname = '$schoolname'");

and 3 of the tables contain a column named language.
when i begin to write this code.

while($row = mysql_fetch_assoc($query)) {
//output.

Ben bu gibi yazın olsaydı nasıl ben çıkışı sadece tablo tbl_school gelen sütun dili yapmak?

$row['language'];  ?

i $ row ['tbl_school.language'] denedim; ama bu bana bir hata verdi.

3 Cevap

Bunları açıkça isim var:

SELECT a.foo first_col, b.foo second_col, c.foo third_col
FROM a, b, c
WHERE [conditions]

Kullandığınız veri getirebilir eğer

$row = mysql_fetch_assoc($query);

Şimdi $ row ["first_col"], $ row ["second_col"] ve $ satır ["third_col"] kullanarak sütunları erişebilirsiniz. Bu nasıl mysql istemci kütüphanesi eserleri kaynaklanmaktadır. Tablo adı sadece sütun adının önüne olmayacaktır. Bu, her sütun adı sonuç olarak görünmesi için benzersiz olması anlamına gelir.

Üretim kodu, her ne pahasına SELECT * kaçınıyorum. Sen açıkça sorguda sütun adlarını listelemek gerekir:

SELECT 
  le.schoolname, 
  le.language AS livingexp_language, 
  t.language AS tuition_language,
  ...
FROM tbl_school
INNER JOIN tbl_livingexp AS le ON (tbl_school.schoolname=tbl_livingexp.schoolname)
INNER JOIN tbl_tuition AS t ON (tbl_school.schoolname=tbl_tuition.schoolname)
...

Kullanın:

$row["livingexp_language"];

(Bütünlüğü uğruna) Ayrıca, yerine size bu suretle başvuruda bulunabilir bir sayısal dizi sonuçlarınızı koyar Mysql_Fetch_Assoc daha mysql_fetch_row kullanarak aynı şeyi elde edebilirsiniz:

$row = mysql_fetch_row($query);
$id = $row[0];
$language = $row[1]; // for instance

Bu durumda, bu çok kolay hataları ve hata ayıklama için zor yapmak için yapar gibi SELECT * önlemek için daha da önemlidir.