Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用用户编辑更新数据库_Php - Fatal编程技术网

Php 使用用户编辑更新数据库

Php 使用用户编辑更新数据库,php,Php,我试图用一个用户在论坛中编辑的帖子更新我的数据库。整个编辑表单正在运行,除了当他们点击编辑表单提交并进入主论坛页面,但数据库和帖子没有改变 当按下“提交编辑”按钮时,我看到: <input name="a_id" type="hidden" value="<? echo $rows['a_id']; ?>"> <input name="question_id" type="hidden" value="<? echo $rows['questi

我试图用一个用户在论坛中编辑的帖子更新我的数据库。整个编辑表单正在运行,除了当他们点击编辑表单提交并进入主论坛页面,但数据库和帖子没有改变

当按下“提交编辑”按钮时,我看到:

    <input name="a_id" type="hidden" value="<? echo $rows['a_id']; ?>">
    <input name="question_id" type="hidden" value="<? echo $rows['question_id']; ?>">
    <input type="submit" name="Submit" value="edit post">
有什么想法吗

编辑

对于那些认为这个问题与@mario不同有用的人来说,问题在于我发送到保存编辑页面的变量

       <input name="a_id" type="hidden" value="<? echo $rows['a_id']; ?>">     
<input name="question_id" type="hidden" value="<? echo $rows['question_id']; ?>">

首先,我会让语法更漂亮一点

$foor    =     $bar;
foreach()
{

}
我不会像那样与$u帖子合作。制作一个数组,例如 $data=array()

比你走

foreach ($_POST as $key => $value)
{
     $data[$key] => mysql_real_escape_string($value);
}
之后,您的$sql需要如下所示:

$sql = "UPDATE $tbl_name SET a_answer=`$data[a_answer]` WHERE a_id=$a_id AND question_id=$question_id";

然后,如果我是你,我会在你的$sql上打印

我同意Richard的观点,添加一个print语句以便直观地验证SQL将很有帮助。我还将Richard的sql更新为:$sql=“update$tbl_name SET a_answer='{$data[a_answer]}”,其中a_id=$a_id和question_id=$question_id”。。。在数组引用周围添加引号和大括号。-1完全破坏语法如何使它“稍微好一点”?您的建议中出现了许多语法错误。最后,在编写问题/答案时,请使用预览窗格检查格式。该代码看起来与上一个问题中的代码几乎相同-特别是您没有应用注释中给出的一些建议。-这里还有一个:阅读一些关于基本调试的教程您的问题有点无聊,逐行修复并不是Stackoverflow的目的。你已经在你极其基本的论坛脚本上发布了一打。在我之前的帖子中,编辑正在更新所有的答案帖子。现在它没有更新任何我不想让你厌烦。我对这一切都非常陌生,这是我需要在我的页面上修复的最后一件事,它才能完全发挥作用。你没有给出任何相关细节来说明原因。打印SQL并打印数据,将其与数据库进行比较,手动运行查询(PhpMyAdmin)以找到答案。试着自己找一次理由关于这个问题,不要再发帖了。如果你对我的问题有疑问,请不要再看我的问题了them@mario:有点刺耳。如果你不想回答,那么你不必回答。这个问题可能不太有趣,但它仍然有效。
foreach ($_POST as $key => $value)
{
     $data[$key] => mysql_real_escape_string($value);
}
$sql = "UPDATE $tbl_name SET a_answer=`$data[a_answer]` WHERE a_id=$a_id AND question_id=$question_id";