2011-05-08 184 views
2

我最近創建了一個PHP/MySQL while循環,它根據我的參數獲取一個數組。根據我所知道的這樣做,當沒有更多行需要抓取時,它應該結束。我只是繼續前進,直到我停止頁面加載。MySQL循環不會停止

while($row = mysql_fetch_array(mysql_query("SELECT username,password,title,message FROM notifications WHERE dateset = '$date'"))){ 
    $test = new Boxcar($row['username'],$row['password']); 
    $test->send($row['title'],$row['message']); 
} 

回答

8

嘗試這樣 最有可能的聯查詢正在重新運行每次您通過while循環

$result = mysql_query("SELECT username,password,title,message FROM notifications WHERE dateset = '$date'"); 

while($row = mysql_fetch_array($result)) { 
    $test = new Boxcar($row['username'],$row['password']); 
    $test->send($row['title'],$row['message']); 
} 
+0

是啊,這一步工作,但爲什麼如果查詢是一個可變的關係呢。是不是while($ row = mysql_fetch_array($ result))只是\t 大家好,我最近創建了一個PHP/MySQL while循環,根據我的參數獲取數組。根據我所知道的這樣做,當沒有更多行需要抓取時,它應該結束。我只是繼續前進,直到我停止頁面加載。 while($ row = mysql_fetch_array(mysql_query(「SELECT username,password,title,message FROM notifications WHERE dateset ='$ date'」)))無論如何? – Sam 2011-05-08 10:55:51

+3

@Sam:原始失敗的原因是因爲每當循環返回到開始時,它會再次調用該查詢(作爲比較的一部分),因此每次都會得到一個新的結果集並在開始時重新開始... – Narcissus 2011-05-08 11:04:57