当前位置: 首页 > 面试题库 >

mysql_real_escape_string VS加上斜线

富钧
2023-03-14
问题内容

有人可以从PHP手册中了解这两个函数之间的区别吗?

addslashes:返回一个字符串,在数据库查询等中需要加引号的字符之前带有反斜杠。这些字符是单引号(’),双引号(“),反斜杠()和NUL(空字节)。

mysql_real_escape_string:mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,该函数将反斜杠附加到以下字符:\
x00,\ n,\ r,\,’,’和\ x1a。

从我收集到的主要区别是\ x00,\ n \ r \ x1a不会引起冲突,您能告诉我它的意义是什么吗?

谢谢


问题答案:

您引用的内容可能来自文档,但据我所知不一定是正确的。

addslashes在通常令人不安的字符上添加斜杠。mysql_real_escape_string转义MySQL需要转义的所有内容。这可能比addslashes需要照顾的字符更多或更少。

同样,mysql_real_escape_string也不一定会添加斜杠来进行转义。尽管我认为这样做是可行的,但最新版本的MySQL通过将两个引号放在一起而不是在其前面加上斜线来转义引号。

我认为您应该始终使用数据提供程序的转义功能而不是addslashes,因为addslashes可能会执行过多或不足的工作以达到使用目的。另一方面,mysql_real_escape_string
知道
如何做准备将字符串嵌入查询中的字符串。即使规范更改了如何转义的内容,并且突然之间您不再使用反斜杠,您的代码仍然可以正常工作,因为您mysql_real_escape_string会意识到这一点。



 类似资料:
  • 选择索引        在“倾斜摄影”菜单栏中点击“打开数据”,找到本地倾斜摄影索引(lfp)文件存放位置,点击打开osgb转换后的lfp格式倾斜摄影数据文件(具体转换步骤见“倾斜摄影”菜单栏中的“数据转换”),该lfp文件包含三维模型所在的经度、纬度、高度值,便于倾斜摄影三维模型在地球上进行定位。支持倾斜摄影三维模型格式为smart3d和大疆智图生成的osgb格式。        打开后数据效果

  • 这是我的测试计划线程属性的配置: 我用14小时7分钟(约50820秒)的总时间进行了一夜测试。加载jtl文件后,汇总报告中显示的样本数为1050975。我试着计算,但我不明白它是怎么得出这么多样本的。 如果Ramp up Period是JMeter创建每次迭代的线程数所花费的时间,如果测试的持续时间是50820秒,那么我应该只有508200个样本(50820/10*100)。我不知道循环计数如何或

  • 问题内容: 我试图使用Gson将Java对象转换为json。但是当我尝试打印出来时,我得到了这个JSON {“ user”:“ {\” email \“:\” abc@gmail.com \“,\” lastName \“:\” Las \“,\” name \“:\” amy \“,\” password \“:\” qwe123 \“,\”电话\“:\” 8901245244 \“}”} 我试

  • 本文向大家介绍SVG 偏斜,偏斜,包括了SVG 偏斜,偏斜的使用技巧和注意事项,需要的朋友参考一下 示例 将多边形水平倾斜45度: 结果等于 x值计算为,y值保持不变x + y * tan(angle) 将多边形垂直倾斜30度: 结果等于(允许四舍五入) x值保持不变,y值计算为 y + x * tan(angle)

  • 问题内容: 我已经使用了很长时间了,到目前为止我还没有遇到任何问题。现在,我正在使用上传脚本,并且尝试在文件上传后返回一些JSON数据。 我有以下代码: 这给了我以下结果: 谁能告诉我为什么加斜杠? 更新 @Quentin说,事情是发生之间和与他的权利。 做一个给我以下结果: 这不是有效的JSON。它还添加,我不知道它来自哪里。 可能对我返回的数据有影响吗? 这是我的js脚本: 问题答案: 谁能告

  • 我正在Jersey上构建REST服务,并使用Jackson从我模型的java类生成JSON。模型具有绝对简单的值,我认为这是最典型的情况。但我得到了奇怪的结果: 我的期待结果: 我的字段源值不包含任何特殊字符。这些是简单的单词。 这是我的Java类。实体: Rest服务等级: 我尝试使用注释JsonRawValue来表示字符串属性: 但在这种情况下,结果是: 我期望: 很明显,Jackson以某种