插入网站帖子时出现mysql语法错误

时间:2013-02-05 16:23:56

标签: php mysql sql database

我正在编写网站的服务器端,我用它来存储帖子

if(!(mysql_query("INSERT INTO `post-data`(`site`, `source`, `meta-desc`, `title`, `figure`, `post`,`date`, `tags`, `category`) VALUES ('$this->site','$url','$this->meta_desc','$this->title','$this->figure',htmlentities($this->body),NOW(),'','')"))){
            echo mysql_error();
            die("DB_in_post Error");}

我没有问题,因为当我测试一个示例帖子时,我得到了mysql语法错误

  

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法   

  作为第20行的人

当我使用htmlentities时,我看到了这个错误

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在“hello”,“world”,“foo”=>附近使用正确的语法。 '酒吧');

如果你想要'在线

Post_Link这是帖子中发布错误帖子的部分图片

所以我知道该怎么做?

1 个答案:

答案 0 :(得分:1)

通过致电htmlentities()(我更改为mysql_real_escape_string()

看起来像引用问题
"INSERT INTO `post-data`
     (`site`, `source`, `meta-desc`, `title`, `figure`, `post`,`date`, `tags`, `category`) 
VALUES (
    '$this->site',
    '$url',
    '$this->meta_desc',
    '$this->title',
    '$this->figure',
    '" . mysql_real_escape_string($this->body) ."',
    NOW(),
    '',
    ''
)"