2

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

  • "Aamma's Pastries"

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

4

4 回答 4

4

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

一种更简单的方法是使用参数化语句,也可以确保一致性。这可以确保所有内容都被正确转义,并且还避免了您必须在查询中嵌入变量。

在 PHP 中,这可以与较新的PDOMySQLi库一起使用。其中,我更喜欢 PDO,因为它提供了灵活性(例如,我目前坚持使用 MySQL,但我不打算让我的应用程序永远以这种方式运行,并且使用 PDO 迁移将大大简化),但是有这里有很多关于 SO 的问题,涵盖了每个问题的优缺点。

于 2010-11-30T05:42:39.060 回答
2

看看mysql_real_escape_string

于 2010-11-30T04:44:47.093 回答
1

请使用准备语句并让 mysql 自行处理转义,而您在代码级别进行操作

于 2010-11-30T06:05:55.353 回答
-2

您可以使用此函数来转义您需要的所有字符,这是 php 中的代码示例

<?php
$str = "Is your name O'reilly?";

// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>
于 2010-11-30T05:59:47.340 回答