php - Foreach 循环在最后一个数组更新后仍然执行

标签 php mysql arrays foreach

我在完成任务后收到错误“错误:查询为空”,而不是回显结果。我怀疑即使更新了最后一个数组,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/

相关文章:

php - 在 php 中将列表更改为嵌套对象的最有效方法是什么

mysql - MySQL如何获取每一列的总数

mysql - 与 MySQL 5.1 的 ODBC 连接

php - 从2个表中选择多个数据,单击后按钮将禁用

python - Pandas 无法从 Numpy 时间戳数组创建 DataFrame

arrays - Excel VBA 用两个数组替换文本

c++ - C++中字符和整数数组的不同行为

php - 如何使用 jQuery 和 PHP 动态显示 MySQL 数据?

javascript - 来自外部 php 文件的 Pubnub 回复

javascript - 如何动态计算每页分页显示多少个项目