我有一个字符串说'今天'要使用PDO预处理语句进行转义并插入MySQL数据库。我已阅读PDO预处理语句自动转义和插入字符串。但它总是作为Today's
插入。任何人都可以告诉我在我的代码中有什么问题。
$string ="Today's";
$sql = 'INSERT INTO table_name values (:friendlyName)';
$statement = $database->prepare($sql);
$statement->bindParam(':friendlyName', $string, PDO::PARAM_STR);
return $statement->execute();
我也尝试过使用PHP的addslashes()
。但没用
我的问题已经解决了。问题是filter_input()函数清理输入并编码引号。我添加了标志FILTER_SANITIZE_MAGIC_QUOTES
而不是FILTER_SANITIZE_STRING