php - 使用 foreach 语句选择 $_POST 返回错误

标签 php mysql database foreach

所以我有一个表单可以根据用户添加到页面的内容来增加和减少。为了能够处理未知帖子,我设置了一系列 foreach 循环,遍历表中的每个部分并为每个部分解开数组。

表单是一系列表格。每个表代表一个类别,每一行代表类别的不同部分。每行有 7 个部分。该脚本遍历并获取将每个列片段插入数据库所需的部分。

在我的个人家庭服务器上,代码没有返回任何错误并相应地更新了数据库。尽管在我的付费主机上出现错误。错误出现在第一个 foreach 之后。它来自:

foreach($tablecontent as $key => $values)

这是错误: 警告:为/home/sariep5/public_html/werchris.com/circuitcheck/submit.php 第 14 行中的 foreach() 提供的参数无效

我的代码如下:

<td><input type="text" maxlength="3" name="esd[8][eng]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][q2]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][loa]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][wire]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][verify]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][assy]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][q4]" value=""></td>

那是表单的 HTML 部分。像这样的部分只是用名称的不同部分创建的。所以 esd 可以是任何其他类别,8 个增量,其他 7 个在每个部分中都是相同的。

foreach ($_POST as $table => $tablecontent) { 
    foreach($tablecontent as $key => $values) {
        foreach($values as $row => $value) {
            $value = strip_tags(htmlspecialchars($value));
            $row = strip_tags(htmlspecialchars($row));
            $key = strip_tags(htmlspecialchars($key));
            mysql_query("UPDATE tablecontent SET ".$row." = '$value'
                         WHERE id='$key'");
        }
    } 
}

谢谢!

最佳答案

这很简单 foreach($tablecontent as $key => $values) 错误意味着 $tablecontent 不是数组

Warning: Invalid argument supplied for foreach() in /home/sariep5/public_html/werchris.com/circuitcheck/submit.php on line 14

在那里尝试一个var_dump($tablecontent);

关于php - 使用 foreach 语句选择 $_POST 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472924/

相关文章:

php - MYSQL表规划

PHP性能: if vs.赋值

php - JSON 对象作为 php 字符串

mysql MyISAM 和 InnoDB 在索引使用上的区别

php - mysql查询在SQL查询中返回零行,即使它在数据库中

sql - 日期列作为主键一部分的优缺点

c++ - 嵌入式项目小型资源存储数据库

javascript - 日期转换 JavaScript 到 PHP

php - 将 LaTeX 代码插入 MySQL

database - 在 MS Access 中存储数据并在 Excel 中查询