我写了一个脚本来在我的数据库中插入记录。我得到的唯一问题是当我尝试存储包含'
字符的数据时,脚本不起作用,并且它不会在数据库中存储任何内容。例如John's Birthday
,Amy's Home
等。这个问题的任何解决方案允许像'
这样的特殊字符存储在数据库中并检索它们而不会损害安全性吗?
mysqli_query($con,"INSERT INTO Story (desc)
VALUES ('$mytext')");
答案 0 :(得分:1)
PHP的mysqli_real_escape_string
专门用于此目的。你的问题是,MySQL会将引号解释为查询的一部分而不是值。你需要转义这样的字符,这样它们就不会影响你的查询 - 这就是SQL注入的内容。
$mytext = mysqli_real_escape_string($con, $mytext);
// continue with your query
答案 1 :(得分:0)
通过mysqli_real_escape_string
过滤查询的变量部分。