问题标签 [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.
php - PHP mysql_real_escape_string() -> stripslashes() 留下多个斜杠
我在使用 PHP/MySQL 转义/剥离字符串时遇到问题 - 似乎总是有多余的斜杠。
我们以下面的字符串为例:
将字符串添加到数据库时,我将其转义,mysql_real_escape_string()
并将以下内容存储在数据库中(编辑:通过直接使用 mysql 应用程序查询数据库进行检查):
从数据库中读回时,我正在传递字符串stripslashes()
并返回以下内容:
由于引号仍然被转义,它破坏了 html 并且文本没有下划线。
- 为什么要
mysql_real_escape_string()
加三个斜线,stripslashes()
去掉两个斜线?我希望他们都添加/删除一个斜线。 - 我怎样才能防止这种情况发生?
- 我以正确的方式接近这个吗?
php - 为什么 PDO 比 mysql_real_escape_string 更适合转义 MySQL 查询/查询字符串?
有人告诉我,我最好使用PDO
MySQL 转义,而不是mysql_real_escape_string
.
也许我正在度过一个脑残的日子(或者可能是因为我没有想象力是一个天生的程序员,而且在 PHP 方面我仍然处于新手阶段),但是有查看了 PHP 手册并阅读了 PDO 上的条目,我仍然不清楚 PDO 到底是什么以及为什么它比使用mysql_real_escape_string
. 这可能是因为我还没有真正掌握 OOP 的复杂性(我假设它与 OOP 有关),但除了变量和数组值前面似乎有一个冒号之外,我仍然不确定它实际上是什么以及您如何使用它(以及为什么它比mysql_real_escape_string
. (这也可能与我对什么是“类”并没有清楚的了解有关,所以当我阅读“PDO 类”时,我真的一点也不聪明)。
在阅读了 MySQL 网站的“开发者专区”位上的一两篇文章后,我仍然不清楚。由于目前我什至无法弄清楚它是什么,我认为现在使用它可能有点超出我的能力,但我仍然有兴趣扩大我的教育范围并找出如何改进事情。
谁能用“简单的英语”向我解释 PDO 是什么(或指出我用简单的英语写的关于该主题的东西的方向),以及您将如何使用它?
php - 为什么要使用 mysql_real_escape_string() ,因为 $_POST 会自动在引号前添加斜杠?
在 PHP 中,$_POST 会自动在引号前添加斜杠,那么为什么还要使用 mysql_real_escape_string()?例如,当我'rrr
在输入字段中输入时,\'rrr
当我回显它时我得到了。
c++ - c++ Mysql C API mysql_real_escape_string
我正在为 mysql c api 构建一个类包装器,特别是目前为 mysql_real_escape_string 并且我认为我做得不太对。
这就是我的功能:
我尝试运行它,但它没有按预期执行并以 mysql 错误结束。
php - PHP MYSQL 文件内容转义问题
我正在尝试使用 php 将 .pdf 文件上传到 mysql 数据库中。
除了文件的内容外,一切都很好。无论我如何尝试转义特殊字符,查询总是失败,主要是“未知命令\n”。
我使用过addslashes、mysql_real_escape_string、removeslashes 等。
有人对如何转义文件内容有任何想法吗?
非常感谢,
php - mysql_real_escape_string() 是否需要 $_SESSION 变量?
mysql_real_escape_string()
我应该在我的 MySQL 查询中使用该函数来查询$_SESSION
变量吗?从理论上讲,$_SESSION
最终用户不能修改变量$_GET
或$_POST
变量,对吗?
谢谢 :)
perl - 对于 Perl 的 DBI,是否有相当于 PHP 的 mysql_real_escape_string() 的?
有人能告诉我是否有一个函数与DBI模块中的mysql_real_escape_string()
Perl 的PHP 相同吗?
php - Htmlentities vs addlashes vs mysqli_real_escape_string
我一直在阅读有关保护 PHP 应用程序的内容,在我看来,这mysqli_real_escape_string
是在将数据插入 MySQL 表时使用的正确函数,因为addslashes
可能会导致聪明的攻击者发生一些奇怪的事情。对?
然而,有一件事让我感到困惑。我似乎记得被建议addslashes
比htmlentities
将用户输入的数据回显给用户以保护他们的数据要好,但似乎addslashes
是有漏洞的那个。这是真的,还是我记错了?
php - 如果我绑定参数,我是否必须使用 mysql_real_escape_string?
我有以下代码:
在这种情况下我是否需要 mysql_real_escape_string 或者我可以吗?
php - PHP、jQuery 和 .post():mysql_real_escape_string 搞砸了
我已经用这个扯了一段时间的头发了。
索引.php:
登录.php:
没有任何回声返回任何东西。
设置.php:
如果我将 settings.php-include 注释掉,则代码运行良好(当然, echo $uid 不起作用),所以它必须是 mysql_real_escape_string 所做的。有人知道我做错了什么吗?
index.php 还包括 settings.php 如果这有什么不同的话。
编辑:下面的帖子让我想澄清一下;路径都是正确的。settings.php(和其他一些脚本)都放在根文件夹之外,以使 Web 用户无法访问它们。当脚本访问它们时,它们运行良好。