我有一个字符串,例如“ Today's ”,可以使用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()
。但是没用
答案 0 :(得分:0)
我的问题已解决。问题在于filter_input()函数,该函数可清理输入并对引号进行编码。我添加了标志FILTER_SANITIZE_MAGIC_QUOTES
而不是FILTER_SANITIZE_STRING