使用PHP MySQL调试提交评论

使用PHP MySQL调试提交评论,php,html,mysql,Php,Html,Mysql,只是想知道是否有人能指出我在下面的代码中出错的地方。我试图从表单中收集文本,并用文本更新数据库中的一个字段 我已经单独测试了SQL语句,它正在正确更新列,但似乎是PHP语法的问题,因为当我单击submit按钮时,它只在列中插入'1' PHP: HTML: 添加注释 右侧,从顶部开始isset返回bool,因此$SubmitComments只等于true或false,它永远不会等于POST变量(与$AddComment相同)。考虑一下: if(isset($_POST['SubmitComme

只是想知道是否有人能指出我在下面的代码中出错的地方。我试图从表单中收集文本,并用文本更新数据库中的一个字段

我已经单独测试了SQL语句,它正在正确更新列,但似乎是PHP语法的问题,因为当我单击submit按钮时,它只在列中插入'1'

PHP:

HTML:


添加注释


右侧,从顶部开始
isset
返回bool,因此
$SubmitComments
只等于true或false,它永远不会等于POST变量(与
$AddComment
相同)。考虑一下:

if(isset($_POST['SubmitComments'])&&isset($_POST['AddComment']))
{
    $SubmitComments = $_POST['SubmitComments'];
    $AddComment = $_POST['AddComment'];
    //Rest of Code
}
其次,表名和列名周围不需要单引号。最后,如注释中所述,考虑使用MySQLi,就好像您的脚本最终能够工作一样,一条格式错误的注释将删除整个数据库

例如:

如果他们的评论仅仅是
butts'--它将使SQL:

updatetable SET column='butts';--'其中列=“$…”

这相当于:

updatetableset列='butts'


把你所有的评论都写在“butts”这个词上,与盗取用户名/密码、破坏数据库等相比,这只是一种幽默幼稚的攻击。

RTFM:然后在你得到服务器pwn3d之前去阅读一下。如果你试图创建/插入新的评论,为什么要进行更新?此外,您的代码很容易受到SQL注入的攻击。您应该考虑使用MySQL或PDO而不是弃用的MySqL**函数,B)使用参数化的准备语句来解决注入漏洞。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO。
<tr>
<td>Add Comment</td>
<td align="center"><form name="form1" method="POST" action=""><input name="AddComment" type="text" id="AddComment" autocomplete="off" placeholder="Add comments..." size="45px"><br />

<input type="submit" name="SubmitComments" id="SubmitComments" value="Submit"></form></td>
</tr>
if(isset($_POST['SubmitComments'])&&isset($_POST['AddComment']))
{
    $SubmitComments = $_POST['SubmitComments'];
    $AddComment = $_POST['AddComment'];
    //Rest of Code
}