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