我想循环更新语句,但它只循环一次。
以下是我正在使用的代码:
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 :(得分:5)
嗯,它只循环一次的原因是UPDATE
查询不返回任何可以用mysql_fetch_assoc
提取的行。因此mysql_fetch_assoc
会返回false
,这会渲染表达式($row_query = mysql_fetch_assoc($query))
false
,这就是循环中止的原因。
除此之外,遗憾的是,该代码非常恶劣。它可能有助于告诉我们你想做什么,必须有更好的方法。
答案 1 :(得分:0)
问题是您在循环中将值重新分配给$ query。尝试
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));
答案 2 :(得分:0)
可能是你的mysql查询有问题。
$ query_query =“update table set ex ='$ 71 [1]'where field ='val'”;
您的查询错误。
更新查询是“更新”表名“set ex ='$ 71 [1]'where field ='val'”;
你错过了桌名。
或者如果您使用'table'作为表名。然后改变它。
答案 3 :(得分: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());