Php 如果每个循环的post提交语句未通过

Php 如果每个循环的post提交语句未通过,php,mysql,variables,foreach,conditional-statements,Php,Mysql,Variables,Foreach,Conditional Statements,提前感谢,下面是正在发生的事情: if(isset($_POST['submit'])) { $var = $_GET['var']; foreach((array)$_POST['content'] as $area => $contents) { $result = 'UPDATE $table SET '.$area.' = "'.mysql_real_escape_string(stripslashes($contents)).'" WHERE var

提前感谢,下面是正在发生的事情:

if(isset($_POST['submit']))
{
$var = $_GET['var'];

foreach((array)$_POST['content'] as $area => $contents)
    {

        $result = 'UPDATE $table SET '.$area.' = "'.mysql_real_escape_string(stripslashes($contents)).'" WHERE var = "'.$_GET['var'].'";';
        mysql_query ($result);
    }


$query = 'UPDATE $table SET '.
            'title = "'.mysql_real_escape_string(stripslashes($_POST["title"])).'", '.
            'template = "'.mysql_real_escape_string($_POST["templateid"]).'", '.
            'description = "'.mysql_real_escape_string(stripslashes($_POST["description"])).'", '.
            'keywords = "'.mysql_real_escape_string(stripslashes($_POST["keywords"])).'" '.
            ' WHERE var = "'.$_GET['var'].'";';

mysql_query ($query);// or die(mysql_error());

}
我无法使if语句超出for-each循环。它不会使用$query mysql语句更新数据库。它简单地更新表中for each循环中的所有内容,然后就存在了。我需要做If while还是else If?我试着查找php条件语句,是否有And语句?比如:如果发帖提交做这个和这个?这基本上就是我要做的,如果post提交,为每个循环执行,并执行$query


如果您需要更多信息,请告诉我。

那么,
$\u POST['content']
有定义吗?在这种情况下,您可能需要使用
print\r($\u POST)
开始调试,以查看获得的所有值

您可能打算做的是:

foreach ($_POST as $key => $val)

编辑:

而且你应该真正避开
$\u GET['var']
以及循环中的
$区域
!!!转义所有用户输入,始终

表名不会显示。还添加一些内容以显示mysql错误消息,以帮助调试:

$result = 'UPDATE '.$table.' SET '.$area.' = "'.mysql_real_escape_string(stripslashes($contents)).'" WHERE var = "'.$_GET['var'].'";';
mysql_query ($result) or die(mysql_error());
尝试添加*ini_集合('display_errors',1);*添加脚本的开头以确保错误输出。 并使用*var_dump(mysql_error());*显示第二个查询的mysql错误

还有一个小建议。 在$area上进行切换以确保传递有效字段:

switch ($area) {
  case 'field1': $area='field1'; break;
  case 'field2': $area='field2'; break;
  default: echo 'No valid field'; continue; break;
}

祝你好运

我将添加逃逸。content[]是文本区域的名称。但是,for-each循环运行良好,并更新了表。它永远不会进入第二个查询