0
$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

4

6 回答 6

2

您的字符串未正确连接,您.在某些 $_POST[] 之前和之后丢失了一些

于 2012-07-09T00:01:27.127 回答
0

请使用这个。你忘记了引语和宠爱。

$sSql = "INSERT INTO comments ( post_id,name, email, website,content) VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."',  '".$_POST['content']."')";
于 2013-04-04T10:57:58.260 回答
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 注入和避免 sql 注入的最佳方法

于 2012-07-09T00:00:41.007 回答
0

你需要用两个句点换行。.$_POST[postid].

此外,请确保您对$_POST参数进行转义,因为它可能会受到 SQL 注入的影响。

于 2012-07-09T00:00:53.300 回答
0

$_POST 应该用作关联数组。所以键应该用引号引起来:$_POST['key']

于 2012-07-09T00:01:09.013 回答
0

这是因为您忘记了一些点 - 您的查询中开始出现意外字符串。

$sSql = "INSERT INTO comments
     ( post_id,name, email, website,content)
     VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."',  '".$_POST['content']."')";

请先转义用户输入,然后再将其放入数据库。并注意数组键:它无需将它们设置为 '' 即可工作,因为 php 将它们视为常量,找不到此名称的已定义常量,并假定这必须是一个字符串。不必要。

于 2012-07-09T00:01:51.053 回答