$sSql = "INSERT INTO comments
( post_id,name, email, website,content)
VALUES (".$_POST[postid]",'".$_POST[name]"', '".$_POST[email]"', '"$_POST[website]"', '"$_POST[content]"')";
我收到以下错误。有人可以帮忙解决这个问题吗? 解析错误:语法错误,代码中出现意外的T_CONSTANT_ENCAPSED_STRING
答案 0 :(得分:2)
你的字符串没有正确连接,你在$ _POST []之前和之后缺少一些.
答案 1 :(得分:0)
错误是string concatenation
缺少.
而数组缺少qoutes
$sSql = "INSERT INTO comments
( post_id,name, email, website,content)
VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."', '".$_POST['content']."')";
使用mysql_escape_string
来避免sql injection和best way to avoid sql injection。
答案 2 :(得分:0)
你需要用两个句号包装。 .$_POST[postid].
另外,请确保转义$_POST
参数,因为它可能会受到SQL注入。
答案 3 :(得分:0)
$ _ POST应该用作关联数组。所以键应该在引号中:$ _POST ['key']
答案 4 :(得分:0)
这是因为你忘记了一些点 - 你的查询中出现了意想不到的字符串。
$sSql = "INSERT INTO comments
( post_id,name, email, website,content)
VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."', '".$_POST['content']."')";
请在将用户输入放入数据库之前将其转义。并处理arraykeys:它的工作原理没有将它们设置为'',因为php将它们作为常量,无法找到此名称的已定义常量,并假设它必须是一个字符串。不必要的。
答案 5 :(得分:0)
请使用此。你忘了引号和溺爱。
$sSql = "INSERT INTO comments ( post_id,name, email, website,content) VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."', '".$_POST['content']."')";