mysql addslashes()函数_PHP addslashes 函数
一、函数功能:
数据库查询语句的要求,在单引号(')、双引号(")、反斜线(\)与 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 函数相关推荐
- PHP学级与年级的转换函数_PHP addslashes()和stripslashes():字符串转义与还原
在 PHP 编程的过程中,经常会遇到这样的问题,将数据插入到数据库时可能引起一些问题,比如出现错误或者乱码等.这是因为数据库将传入的数据中的字符解释成控制符.针对这种问题,就需要使用一种标记或者是转义 ...
- php 打印mysql错误日志_PHP error_log()函数处理错误日志
在PHP语言中,内置了数量庞大的函数,每个函数的功能不尽相同.灵活的运用这些函数可以为我们带来许多功能的实现.下面我们就介绍一下PHP error_log()函数的相关功能. PHP error_lo ...
- java回调函数_PHP回调函数及匿名函数概念与用法详解
1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...
- mysql rollback函数_PHP mysqli_rollback() 函数_程序员人生
实例 关闭自动提交,做一些查询,提交查询,然后回滚当前事务: $con=mysqli_connect("localhost","my_user","m ...
- php addslashes没用_php addslashes 转义的方法
php addslashes转义的方法:首先创建一个PHP示例文件:然后定义一个字符串:最后通过"addslashes($str)"向字符串中的预定义字符添加反斜杠即可. 本文操作 ...
- php rename函数_php rename函数怎么用
PHP rename()函数用于重命名文件或目录,语法"rename(文件旧名称,新名称,句柄环境)",使用用户指定的新名称更改文件或目录的旧名称,并且可以根据需要在目录之间移动: ...
- php rename函数_PHP rename函数使用详解(php重命名文件)
PHP中的rename()函数是一个内置函数,用于重命名文件或目录.它尝试用用户指定的新名称更改文件或目录的旧名称,并且在必要时可以在目录之间移动. 如果用户指定的新名称已经存在,rename()函数 ...
- php 危险函数_PHP 危险函数有哪些?
在编译 PHP 时,如无特殊需要,一定禁止编译生成 CLI 命令行模式的 PHP 解析支持.可在编译时使用 –disable-CLI.一旦编译生成 CLI 模式的PHP,则可能会被入侵者利用该程序建立 ...
- php mail函数_php 发送邮件函数
/** * 记录数据 */ function runlog($mode = 'SMTP',$b = '',$c = '',$d='') { } /** * 发送邮件 * @param $toemail ...
最新文章
- 空中悬停、翻滚转身、成功着陆,我用强化学习「回收」了SpaceX的火箭
- 在YII2框架中使用UEditor编辑器发布文章
- 用rand_7()实现rand_10()
- mybatis-generator-gu(mybatis generator 的图形界面工具)
- bash中 21 的解释
- linux 日志监控工具,详解 Linux系统常用监控工具
- texstudio 使用方法_TeXstudio怎么使用,TeXstudio使用教程解析
- XILINX FPGA数字信号处理——3、数字的表示和运算的实现
- Java读写NFC标签Ntag2x芯片源码
- 广州橙优设计:学习UI需要那些?UI设计必须会的软件
- 高等数学学习指导_学习A-Level应该如何选课?
- java applepay_ApplePay对接java后台详细代码
- 2021年大学生网络安全邀请赛暨第七届上海市大学生网络安全大赛“东华杯”Misc(全)-Writeup
- 好玩的数据结构与算法——八皇后游戏(回溯)
- Photoshop辅助线和标尺的使用技巧
- elasticsearch从入门到入门系列(四)---搜索高级使用
- Protractor版本大事记
- 说明白正反向代理,以及Nginx和Gunicorn
- java EE基础概念了解
- 王者的荣耀--Monza后记
热门文章
- Datawhale零基础入门金融风控 Task2/4 数据分析
- 2.哥德巴赫猜想是任何不小于4的偶数,都可以写出两个质数之和的形式。它是世界三大数学难题之一,至今没有被完全证明。编写一个多线程程序验证100000000以内哥德巴赫猜想是对的。
- Python 'gbk' codec can't decode byte 0x80
- python rgb2gray_python-rgb2gray不起作用,创建彩虹图像
- 2021-2025年中国口腔清洁用品行业市场供需与战略研究报告
- 计算机社团活动小结,电脑制作社团活动总结
- WPF日历,农历,黄历,万年历
- 计算机组成原理学习--第一周--哈工大刘宏伟
- VSCode详细使用教程
- python二级含金量_计算机二级证书含金量有多高?