MySQL在转义字符串上提供1064。
$date is set above.
$article_clean = mysqli_real_escape_string($dbc,$article);
$guid_clean= mysqli_real_escape_string($dbc,$guid_clean);
$pub_date_clean = mysqli_real_escape_string($dbc,$pub_date);
$title_clean = mysqli_real_escape_string($dbc,$title);
$query = "INSERT INTO blog_post (date,article,link,pub_date,title) VALUES ('$date',$article_clean','$guid_clean','$pub_date_clean','$title_clean')";
mysqli_query($dbc, $query);
为什么?
答案 0 :(得分:1)
$query = "INSERT INTO blog_post (blah blah) VALUES ('$date',$article_clean', ...)";
^
这个论点你没有开场白。你需要添加一个。
最重要的是,这句话看起来很可疑:
$guid_clean = mysqli_real_escape_string ($dbc, $guid_clean);
所有其他人都采用“不干净”的版本来制作干净的版本。除非你已经以某种方式设置了guid_clean
,否则可能应该是:
$guid_clean = mysqli_real_escape_string ($dbc, $guid);
正如我所说,那不是必然的情况,但我会检查它以确保。
答案 1 :(得分:1)
您错过了一个引号,用这个重写您的查询行: -
$query = "INSERT INTO blog_post (date,article,link,pub_date,title) VALUES ('$date','$article_clean','$guid_clean','$pub_date_clean','$title_clean')";
答案 2 :(得分:0)
尝试使用更好的PHP IDE轻松解决这些问题。