2010-06-10 71 views
0

我想循環更新語句,但它只循環一次。我想做一個SQL更新循環語句,通過使用做 - 而在PHP

這裏是我使用的代碼:

do { 
    mysql_select_db($database_ll, $ll); 
    $query_query= "update table set ex='$71[1]' where field='val'"; 
    $query = mysql_query($query_query, $ll) or die(mysql_error()); 
    $row_domain_all = mysql_fetch_assoc($query); 
} while ($row_query = mysql_fetch_assoc($query)); 

感謝 讓

+0

什麼是你的問題? – 2010-06-10 08:54:55

+0

也許你可以解釋你想要做什麼......? – deceze 2010-06-10 08:54:55

+1

該代碼做什麼?你想要它做什麼?你的問題是什麼? – 2010-06-10 08:54:59

回答

0

問題是你reattribute你的循環內的值,以$查詢。嘗試

do { 
    mysql_select_db($database_ll, $ll); 
    $query_query= "update table set ex='$71[1]' where field='val'"; 
    $query2 = mysql_query($query_query, $ll) or die(mysql_error()); 
    $row_domain_all = mysql_fetch_assoc($query2); 
} while ($row_query = mysql_fetch_assoc($query)); 
+0

,並在UPDATE查詢上使用mysql_fetch_assoc,該查詢不返回任何行。 – softcr 2010-06-10 09:06:22

+0

實際上不是,他只在循環中分配一次'$ query',這不會造成任何問題。 – deceze 2010-06-10 09:09:08

5

嗯,這是唯一的一次循環將是UPDATE查詢不返回,你可以用mysql_fetch_assoc提取任何行的原因。因此mysql_fetch_assoc返回false,這表示($row_query = mysql_fetch_assoc($query))false,這就是循環中止的原因。

除此之外,該代碼是,很抱歉地說,非常殘酷。它可能有助於告訴我們你想做什麼,必須有更好的方法。

0

可能是你的mysql查詢中有一些問題。

$ query_query =「update table set ex ='$ 71 [1]'where field ='val'」;

您的查詢是錯誤的。

更新查詢是「更新」表名「set ex ='$ 71 [1]'where field ='val'」;

您錯過了表名。

或者如果您使用'table'作爲您的表名稱。然後改變它。

0

人,

我需要更換這個

$query = mysql_query($query_query, $ll) or die(mysql_error()); 
$row_domain_all = mysql_fetch_assoc($query); 

隨着

$Result1 = mysql_query($query_query, $ll) or die(mysql_error()); 
+0

對不起,但這沒有任何意義。如果這是解決方案,您必須忽略問題的一半。 – deceze 2010-06-10 21:44:54