2014-12-02 78 views
-1

我有一個問題用的mysql_query - 是的,我知道它的更新,我需要將它升級到PDO或mysqli的..查詢只拿到1排

然而,它只是從數據庫中,並得到一個行它需要拔出3行。它只需要找到它的第一行。

$result = mysql_query("SELECT * FROM packages WHERE workerid = '$id' AND approved = '1'"); 
$packed = array(); 
while($row = mysql_fetch_assoc($result)){ 
    $packed[] = $row; 
return $packed; 
} 

現在,我只是print_r($packed);,只給我表的第一行。在其他行上檢查Workerid並批准它們,並且它們應該能夠被拉出。我在我的函數中有一個類似的代碼,工作完美,所以我不能真正看到這裏的錯誤。

+5

你的回報在'while'循環 – CD001 2014-12-02 18:20:42

+1

你每次循環都覆蓋'$ packed'。 – 2014-12-02 18:22:43

+0

謝謝,還沒有見過那個:)! – 2014-12-02 18:24:16

回答

0

可以嘗試

while($row = mysql_fetch_assoc($result)){ 
array_push($packed, $row); 
} 

print_r($packed); 

return $packed; 

while($row = mysql_fetch_assoc($result)){ 
    $packed[] = $row; 
    } 

    print_r($packed); 

    return $packed; 

這應推動各行返回到數組的末尾。我正在使用print_r,以便您可以查看數組是否包含您正在查找的所有值。

+0

我已經找到了解決方案,那就是需要移動的循環內的返回。 – 2014-12-03 17:41:54