一、函数功能:

数据库查询语句的要求,在单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符) 等特殊字符前添加反斜杠。它是stripslashes()函数的反向操作函数。

二、函数语法:string addslashes($str)

三、函数参数:参数描述

$str要为特殊字符添加反斜杠的元素字符串。

四、返回值:返回添加反斜杠完成的字符串。

五、用法举例:

1、基本用法:<?php

# 爱E族:aiezu.com

echo addslashes("it's\n");

echo addslashes('abc"def\123');输出:it\'s

abc\"def\\123

2、给Sql查询参数添加反斜杠:<?php

# 爱E族:aiezu.com

#未使用addslashes函数添加反斜杠的SQL语句

$title = "it's";

$sql = "select * from Table where title='{$title}'";

echo '$sql值为: ' . $sql;

echo "\n\n";

#使用addslashes函数添加反斜杠的SQL语句:

$title = addslashes("it's");

$sql = "select * from Table where title='{$title}'";

echo '$sql值为: ' . $sql;输出:$sql值为: select * from Table where title='it's'

$sql值为: select * from Table where title='it\'s'注:上面一条SQL语句由于"it's"的单引号导致SQL中的title查询值闭合单引号提前闭合,而导致如下错误:

PHP Fatal error:  Uncaught exception 'Exception' with message 'MySQL Query Error : You have an error in your SQL syntax; check the manual that corresponds to your Mysql server version for the right syntax to use near 's'' at line 1
SQL:select * from Table where title='it's'' in /tmp/mysql.php:148

3、对数组元素使用addslashes:<?php

# 爱E族:aiezu.com

function array_addslashes( $array ){

if(is_array($array) ){

foreach($array as $key=>&$value){

$value=array_addslashes($value);

}

return $array;

}else{

return addslashes($array);

}

}

$arr = array(

'aa'=>"O'Reilly"

,'ab'=>array(

'ba'=>"It's"

,'bb'=>"Is't a book?"

)

);

$arr = array_addslashes($arr);

print_r($arr);输出:Array

(

[aa] => O\'Reilly

[ab] => Array

(

[ba] => It\'s

[bb] => Is\'t a book?

)

)

4、对浏览器发送到http服务器的数据进行addslashes转义:

当php.ini配置文件中magic_quotes_gpc配置项值为On时,浏览器发送到服务器的数据($_POST, $_GET, $_COOKUE)会自动进行addslashes转义,无需再次进行addslashes转义(PHP 5.4 之前 magic_quotes_gpc 默认是 On)。我们可以通过get_magic_quotes_gpc函数检测magic_quotes_gpc配置项值是否为On:<?php

# 爱E族:aiezu.com

function array_addslashes( $array ){

if(is_array($array) ){

foreach($array as $key=>&$value){

$value=array_addslashes($value);

}

return $array;

}else{

return addslashes($array);

}

}

if ( ! get_magic_quotes_gpc() ) {

$_POST = array_addslashes($_POST);

$_GET = array_addslashes($_GET);

$_COOKIE= array_addslashes($_COOKIE);

}

mysql addslashes()函数_PHP addslashes 函数相关推荐

  1. PHP学级与年级的转换函数_PHP addslashes()和stripslashes():字符串转义与还原

    在 PHP 编程的过程中,经常会遇到这样的问题,将数据插入到数据库时可能引起一些问题,比如出现错误或者乱码等.这是因为数据库将传入的数据中的字符解释成控制符.针对这种问题,就需要使用一种标记或者是转义 ...

  2. php 打印mysql错误日志_PHP error_log()函数处理错误日志

    在PHP语言中,内置了数量庞大的函数,每个函数的功能不尽相同.灵活的运用这些函数可以为我们带来许多功能的实现.下面我们就介绍一下PHP error_log()函数的相关功能. PHP error_lo ...

  3. java回调函数_PHP回调函数及匿名函数概念与用法详解

    1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...

  4. mysql rollback函数_PHP mysqli_rollback() 函数_程序员人生

    实例 关闭自动提交,做一些查询,提交查询,然后回滚当前事务: $con=mysqli_connect("localhost","my_user","m ...

  5. php addslashes没用_php addslashes 转义的方法

    php addslashes转义的方法:首先创建一个PHP示例文件:然后定义一个字符串:最后通过"addslashes($str)"向字符串中的预定义字符添加反斜杠即可. 本文操作 ...

  6. php rename函数_php rename函数怎么用

    PHP rename()函数用于重命名文件或目录,语法"rename(文件旧名称,新名称,句柄环境)",使用用户指定的新名称更改文件或目录的旧名称,并且可以根据需要在目录之间移动: ...

  7. php rename函数_PHP rename函数使用详解(php重命名文件)

    PHP中的rename()函数是一个内置函数,用于重命名文件或目录.它尝试用用户指定的新名称更改文件或目录的旧名称,并且在必要时可以在目录之间移动. 如果用户指定的新名称已经存在,rename()函数 ...

  8. php 危险函数_PHP 危险函数有哪些?

    在编译 PHP 时,如无特殊需要,一定禁止编译生成 CLI 命令行模式的 PHP 解析支持.可在编译时使用 –disable-CLI.一旦编译生成 CLI 模式的PHP,则可能会被入侵者利用该程序建立 ...

  9. php mail函数_php 发送邮件函数

    /** * 记录数据 */ function runlog($mode = 'SMTP',$b = '',$c = '',$d='') { } /** * 发送邮件 * @param $toemail ...

最新文章

  1. 空中悬停、翻滚转身、成功着陆,我用强化学习「回收」了SpaceX的火箭
  2. 在YII2框架中使用UEditor编辑器发布文章
  3. 用rand_7()实现rand_10()
  4. mybatis-generator-gu(mybatis generator 的图形界面工具)
  5. bash中 21 的解释
  6. linux 日志监控工具,详解 Linux系统常用监控工具
  7. texstudio 使用方法_TeXstudio怎么使用,TeXstudio使用教程解析
  8. XILINX FPGA数字信号处理——3、数字的表示和运算的实现
  9. Java读写NFC标签Ntag2x芯片源码
  10. 广州橙优设计:学习UI需要那些?UI设计必须会的软件
  11. 高等数学学习指导_学习A-Level应该如何选课?
  12. java applepay_ApplePay对接java后台详细代码
  13. 2021年大学生网络安全邀请赛暨第七届上海市大学生网络安全大赛“东华杯”Misc(全)-Writeup
  14. 好玩的数据结构与算法——八皇后游戏(回溯)
  15. Photoshop辅助线和标尺的使用技巧
  16. elasticsearch从入门到入门系列(四)---搜索高级使用
  17. Protractor版本大事记
  18. 说明白正反向代理,以及Nginx和Gunicorn
  19. java EE基础概念了解
  20. 王者的荣耀--Monza后记

热门文章

  1. Datawhale零基础入门金融风控 Task2/4 数据分析
  2. 2.哥德巴赫猜想是任何不小于4的偶数,都可以写出两个质数之和的形式。它是世界三大数学难题之一,至今没有被完全证明。编写一个多线程程序验证100000000以内哥德巴赫猜想是对的。
  3. Python 'gbk' codec can't decode byte 0x80
  4. python rgb2gray_python-rgb2gray不起作用,创建彩虹图像
  5. 2021-2025年中国口腔清洁用品行业市场供需与战略研究报告
  6. 计算机社团活动小结,电脑制作社团活动总结
  7. WPF日历,农历,黄历,万年历
  8. 计算机组成原理学习--第一周--哈工大刘宏伟
  9. VSCode详细使用教程
  10. python二级含金量_计算机二级证书含金量有多高?