使用for循环更新多行的mysql用例
我需要更新360行。显然,这不能正常工作。需要帮忙吗使用for循环更新多行的mysql用例,mysql,loops,case,Mysql,Loops,Case,我需要更新360行。显然,这不能正常工作。需要帮忙吗 for ($i = 1; $i <= 360; $i++) { $info = mysql_real_escape_string($_POST[$i]); $check = mysql_real_escape_string($_POST[''.$i.'Check']); $case = "WHEN '$i' THEN '$info'"; } $sql = "UPDATE $table
for ($i = 1; $i <= 360; $i++) {
$info = mysql_real_escape_string($_POST[$i]);
$check = mysql_real_escape_string($_POST[''.$i.'Check']);
$case = "WHEN '$i' THEN '$info'";
}
$sql = "UPDATE $table
SET info = CASE id
$case
END
WHERE ID in (1-360)";
mysql_query($sql)
or die (mysql_error());
对于($i=1;$i这至少有一个(不是很?)明显的原因不起作用-您正在用循环的每次迭代替换$case的内容。$case.=“当“$i”时,然后“$info”\n”;
(注意等号前的点)另一个可能是$i被放在查询中的单引号中,而ID列往往是数字
我没有尝试运行你的代码。如果它仍然“不起作用”,你应该编辑你的问题并添加更多信息,如表结构和错误消息
除此之外,您还可以:
$sql = "UPDATE $table SET\n";
for ($i = 1; $i <= 360; $i++) {
$info = mysql_real_escape_string($_POST[$i]);
//$check = mysql_real_escape_string($_POST[''.$i.'Check']);
// What's that $check for?
$sql .= "info = '$info' where ID = $i\n";
}
mysql_query($sql)
or die (mysql_error());
$sql=“更新$table SET\n”;
对于($i=1;$i 1),“不工作”不是解释2。给出简单的sql查询,而不使用php。