我无法在查询其中一个变量时插入我的查询。如果我努力设置它,它将插入。
preg_match_all("/<\s*p[^>]*>([^<]*)<\s*\/\s*p\s*>/", $new_post, $matches);
$article = ' ';
foreach ($matches[0] as $media){
$article .= $media;
}
$query = "INSERT INTO blog_post (date,article,link) VALUES('$date','$article','$guid_clean')";
mysqli_query($dbc,$query);
一切正常,IE我可以回应$文章,如果我努力设置并跳过foreach,我甚至可以插入$ article。 $ date和$ guid_clean工作正常。
答案 0 :(得分:2)
您尚未使用mysql_real_escape_string()
转义输入变量,并且文章正文中的撇号或单引号可能会破坏并使SQL语句无效。
$article = mysql_real_escape_string($article);
// And if necessary if these came from user input...
$guid_clean = mysql_real_escape_string($guid_clean);
$date = mysql_real_escape_string($date);
$query = "INSERT INTO blog_post (date,article,link) VALUES('$date','$article','$guid_clean')";
mysqli_query($dbc,$query);