问题标签 [mysql-real-escape-string]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
22898 浏览

php - mysql_real_escape_string() 用于整个 $_REQUEST 数组,还是需要循环遍历它?

除了以下之外,还有更简单的方法可以安全地提取提交的变量吗?

(并且:你会isset()在这种情况下使用吗?)

0 投票
3 回答
1393 浏览

php - 如何防止撇号被删除 PHP MySQL

我有一个要求用户名的注册系统。有些人的姓氏中有撇号,这会阻止数据写入 MySQL 数据库表(例如 O'Hare)。

我正在使用 mysql_real_escape_string 从字符串中删除撇号。这很好,除非我需要对 Web 服务使用带有撇号的值,否则 Web 服务将返回 false。

我在想我可以在使用 mysql_real_escape_string 之前使用 Web 服务进行名称检查,但这会带来安全漏洞吗?或者 SOAP Web 服务是否已经对干净的输入进行了自己的检查?

或者有没有更好的方法来传递变量,让 PHP 保留撇号但仍然保持它的安全并且 MySQL 可以接受它?

0 投票
1 回答
2298 浏览

php - 在 2 层服务器中使用 mysql_real_escape_string 的 zend 框架

在我的一个应用程序中,我使用的是 zend 框架。Web/应用程序服务器,数据库服务器在物理上是不同的。现在我正在使用mysql_real_escape_string我提供第一个参数的安全性。它给了我一个警告“找不到链接标识符或没有数据库连接标识符”。

当我为该实例创建连接标识符并提供它开始工作时。我的问题是为什么它不能自己识别它。

0 投票
2 回答
578 浏览

php - mysql_real_escape_string() 没有转义任何东西

  1. 我需要在我的 INSERT 和 SELECT FROM 语句中使用真正的转义吗?
  2. 为什么我在以下示例中使用的语法不起作用(这只是我尝试过的众多方法之一)?

    /li>
0 投票
4 回答
10949 浏览

php - PHP的addslashes和mysql(i)_escape_string有什么区别?

可能重复:
mysql_real_escape_string VS 添加斜杠

如果他们不完全一样,有什么区别?MySQL 查询中值的分隔符'不是吗?或者,"但是也可以通过添加斜杠进行转义。

在我理解的其他数据库引擎中(肯定是在像 PDO 这样的数据库包装器中),但为什么这么多人如此坚持使用 mysql(i)_escape_string 而不是添加斜杠?

0 投票
3 回答
1461 浏览

php - mysql_real_escape_string 和撇号问题

所以我一直在使用 mysql_real_escape_string 将数据插入到我的数据库中......但是当我这样做时,它会用符号 ’ 替换所有撇号

所以不是显示它,而是显示它......

当我从数据库中读回时,有没有办法将这些 ’ 重新转换为撇号?

0 投票
3 回答
9743 浏览

ruby - 如何在 Ruby 中插入或更新之前转义字符串

在 ruby​​ 中,ActiveRecord 不提供更新和插入 sql 的动态绑定,当然我可以使用原始 sql,但是需要保持连接,所以我想知道在执行下面的代码之前是否有更简单的方法来逃避更新或插入 sql :

我想我可以通过 gsub 编写代码,但我知道是否有现成的方法可以做到这一点。

0 投票
2 回答
2920 浏览

php - PHP - Mysql:将图像存储在数据库中 - 转义特殊字符

我阅读了有关在数据库中存储图像的教程。在教程中,作者在插入之前对二进制数据中的特殊字符进行了转义:http ://www.phpriot.com/articles/images-in-mysql/7 (addslashes虽然mysql_real_escape_string最好使用 - 但这是另一个问题)。

关键是,在显示时,他只显示存储的数据:http ://www.phpriot.com/articles/images-in-mysql/8

我的问题:

1) 即使对于二进制字段类型 ( ),我们是否也需要转义特殊字符blob

2)如果是这样,那么我们是否不需要再次“取消转义”字符才能正确显示图像?(如果是这样,最好的方法是什么。关于效率的任何评论?对于大图像:转义和取消转义可能是一个很大的开销?)。

还是我对转义的理解完全错误(转义只影响查询,而不影响插入/存储的最终数据?)。

谢谢

J.P

0 投票
4 回答
2082 浏览

php - mysql_real_escape_string & 斜线

首先,魔术引号和运行时在 中正确禁用php.ini,并由phpinfo().

我只mysql_real_escape_string在数据上使用, afterhtmlspecialchars和 a trim,这就是变量的所有数据清理。

然而,当我提交单引号时,斜线仍保留在数据库中。

运行时mysql_query我正在使用"' . $var . '",尽管在过去这并没有改变任何东西(可能是由于双引号?)。

有任何想法吗?请不要告诉我有关 PDO/准备好的声明,我知道它们并且我有这样做的理由。

谢谢!

代码示例(这是对数据所做的唯一事情):

0 投票
3 回答
23586 浏览

php - MySQL 真正的转义字符串

我试图使用 addlashes 和 mysql_real_escape_string 清理我的 PHP 登录的输入。使用addslashes有效,但mysql_real_escape_string不会。

这是允许我正确登录的示例:

这不会:

此外,我的其他一些字段包含撇号。使用 addlashes 时不会返回任何内容,因为数据库中的条目没有被转义。我想知道使用mysql_real_escape_string是否可以解决这个问题,但我不知道如何。