我的查询就像
$insert_query = "insert into post (post_title) values ('$post_title')";
如果我的post_title = Ronald的生物数据,由于我的post_title中的特殊字符,我将无法插入元组。
该如何解决这个问题?提前谢谢!
答案 0 :(得分:3)
使用准备好的语句在查询中自动转义参数
$stmt = $dbh->prepare("insert into post (post_title) values (?)";
$stmt->bindParam(1, $post_title);
$stmt->execute();
答案 1 :(得分:0)
考虑使用$mysqli->real_escape_string(String)
功能。
$post_title = $mysqli->real_escape_string($post_title);
$insert_query = "insert into post (post_title) values ('$post_title')";
有关详细信息,请参阅here。
请注意,在SQL字符串中使用变量始终会因SQL Injection攻击而发出潜在漏洞。参见例如this post替代方案。