msql quote()函数
来源:互联网 发布:java毕业设计题目大全 编辑:程序博客网 时间:2024/05/16 14:59
QUOTE()经常用在防止sql注入-- 导出 函数 eshop_v2.FN_MAKE_LIKE2 结构
-- 导出 函数 eshop_v2.FN_MAKE_LIKE2 结构DROP FUNCTION IF EXISTS `FN_MAKE_LIKE2`;DELIMITER //CREATE FUNCTION `FN_MAKE_LIKE2`(`P_Key` VARCHAR(50), `P_Field` VARCHAR(50)) RETURNS varchar(1024) CHARSET utf8 NO SQL DETERMINISTIC SQL SECURITY INVOKERBEGINDECLARE V_Str VARCHAR(512);SET V_Str = FN_GET_VAL(@tmp_query, P_Key);IF V_Str IS NULL OR V_Str = '' THENRETURN NULL;END IF;SET V_Str = REPLACE(REPLACE(REPLACE(QUOTE(V_Str), '%', '\%'), '_', '\_'), ' ', '%');IF P_Field = '' THENSET P_Field = P_Key;END IF;RETURN CONCAT(P_Field, ' LIKE ', INSERT(INSERT(V_Str, CHAR_LENGTH(V_Str), 0, '%'), 2, 0, '%'));END//DELIMITER
SET V_Str = REPLACE(REPLACE(REPLACE(QUOTE(V_Str), '%', '\%'), '_', '\_'), ' ', '%');
如果输入一个即将要搜索字符串为淘宝,执行Quote(V_Str)后结果为‘淘宝’,如果这个字符串中包含'%'和'_',将通配符前插入转义字符,如果为空个,也同样添加通配符%。
RETURN CONCAT(P_Field, ' LIKE ', INSERT(INSERT(V_Str, CHAR_LENGTH(V_Str), 0, '%'), 2, 0, '%'));
将处理好后的字符串(此字符串前后已添加单引号,经过这句的转换,即为要搜索的字符串前后加通配符%。例如‘%ABC%’)
mysql> select length('123');+---------------+| length('123') |+---------------+| 3 |+---------------+1 row in set (0.00 sec)mysql> select length(quote('123'));+----------------------+| length(quote('123')) |+----------------------+| 5 |+----------------------+1 row in set (0.00 sec)
0 0
- msql quote()函数
- Msql 函数find_in_set()用法
- Quote
- Quote
- Quote
- Quote
- Quote
- msql 过滤HTML标签函数
- msql
- quote函数什么意思,怎么用
- 通过quote函数防止数据库注入
- MSQL中常用的一些字符串函数
- MSQL之CONCAT函数简单使用
- JAVA mail MimeUtility.quote 函数抛出 NULL Pointer Exception.
- php封装msql 常用函数 增删改查 mysqli
- On quote
- urllib.quote
- urllib.quote
- 内存可见性和原子性:Synchronized和Volatile的比较
- palindrome_number判断int是否是回文
- 求解, Win10 下vs2013 调试 无法用本机IP访问
- 一条语句系列——C++ STL(不定期更新)
- Ubuntu中update-alternatives命令(版本切换)
- msql quote()函数
- 冒泡排序
- 89GrayCode
- 强制 code review:reviewboard+svn 的方案
- JQuery学习笔记之自定义动画效果
- java对象的序列化
- 学习注水-20160901-ccna-ProblemRemain
- js写当前系统的时间代码案例分享
- OpenCV split函数 merge函数 及示例