我在完成任务后收到错误“错误:查询为空”,而不是回显结果。我怀疑即使更新了最后一个数组,FOREACH 仍会尝试执行查询。我说得对吗?
如果是,我该如何纠正?
<?php
$con = mysql_connect("localhost", "$username" , "$password");
mysql_select_db($database, $con);
?>
<?php
foreach ($_POST['id'] as $key=>$id)
{
$order = $_POST['order'][$key];
mysql_query("UPDATE table SET `order`=$order WHERE `id` = $id");
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "<div class=\"result\">**1 record updated**</div>";
?>
非常感谢
有关发布这些值的表单的更多信息:Create array from form and update mysql
最佳答案
问题可能出在:
if (!mysql_query($sql,$con))
它在没有定义 $sql
的情况下运行 mysql_query。
虽然我不建议将查询放在循环中,因为它会浪费内存,但对于您的代码示例 - 尝试将 mysql_query()
放在变量中,如下所示:
$sql = mysql_query("UPDATE table SET `order`=$order WHERE `id` = $id");
关于php - Foreach 循环在最后一个数组更新后仍然执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480181/