使用撇号为MySQL插入转义值

时间:2010-11-30 04:41:16

标签: php mysql stripslashes

我正在尝试创建一些SQL插入语句,一些变量的名称如下所示:

  • "Aamma's Pastries"

当我将值添加到MySQL数据库中时,我想要转义引号(')。我如何用PHP做到这一点?

4 个答案:

答案 0 :(得分:4)

您已经接受了答案,但我想建议您采取更好的方法。使用类似mysql_real_escape_string的方法要求您始终记住在每个查询中每次都应用它;这很乏味且容易出错。

更简单的方法,也确保一致性是使用parameterised statements。这可以确保一切都被正确转义,并且还可以避免在查询中嵌入变量。

在PHP中,这可以与较新的PDOMySQLi库一起使用。其中,我更喜欢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);
?>