我正在尝试创建一些SQL插入语句,一些变量的名称如下所示:
"Aamma's Pastries"
当我将值添加到MySQL数据库中时,我想要转义引号('
)。我如何用PHP做到这一点?
答案 0 :(得分:4)
您已经接受了答案,但我想建议您采取更好的方法。使用类似mysql_real_escape_string的方法要求您始终记住在每个查询中每次都应用它;这很乏味且容易出错。
更简单的方法,也确保一致性是使用parameterised statements。这可以确保一切都被正确转义,并且还可以避免在查询中嵌入变量。
在PHP中,这可以与较新的PDO或MySQLi库一起使用。其中,我更喜欢PDO,因为它提供了灵活性(例如,我目前仍然坚持使用MySQL,但我不打算让我的应用程序永远以这种方式运行,并且使用PDO,迁移将大大简化),但是这里有很多关于SO的问题,涵盖了各自的优点和缺点。
答案 1 :(得分:2)
答案 2 :(得分:1)
请使用prepare语句,让mysql处理自己,并在代码级别进行转义
答案 3 :(得分:-2)
你可以使用这个函数来逃避你需要的所有字符,这里是php中的代码示例
<?php
$str = "Is your name O'reilly?";
// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>