2011-04-24 46 views
1

只返回一個行我有此查詢:爲什麼正在從MySQL查詢

mysql_query("SELECT tre.TrainerEducationID, tge.EducationName, tre.EducationNote 
       FROM trainereducation tre 
       INNER JOIN trainingeducation tge ON 
       (tre.EducationID = tge.EducationID) 
       WHERE tre.TrainerID = '$id'"); 

它顯然只返回一個單列,即使有超過2排在TrainerEducation表。
這是爲什麼?
它不應該返回多個行嗎?

+0

你是如何獲取行?您需要獲取每行直到它返回false,然後您知道沒有更多行。 – Halcyon 2011-04-24 21:48:04

+0

我使用mysql_fetch_array – user722769 2011-04-24 21:48:57

+0

ohhh我c,所以每個獲取只有一行?每一行都是數組? – user722769 2011-04-24 21:49:16

回答

1

然後使用:

while ($row = mysql_fetch_array($result)) { // keep fetching until it returns false 
    var_dump($row); 
} 

由於上公佈: http://php.net/mysql_fetch_array

+0

我c,所以每個獲取調用,只獲得結果集的一行? – user722769 2011-04-24 21:50:36

0

也許你的條件不匹配,嘗試使用left join,而不是進行調試,看看你會得到什麼

1

mysql_fetch_array不取只有一行。嘗試在這樣的循環中做:

$all_rows = array(); 
while($row = mysql_fetch_array($result)) { 
    $all_rows[] = $row; 
}