当前位置:首页 » 编程语言 » sql查询转义
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询转义

发布时间: 2022-05-31 19:53:37

⑴ pl/sql有没有查询数据存在转义字符

在处理MySQL和GET、POST的数据时,常常要对数据的引号进行转义操作。
PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。
php称之为魔术引号,这三项设置分别是
magic_quotes_gpc
影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。
这个开启时,通过GET,POST,COOKIE传递的数据会自动被转义。
如 test.php?id=abc'de"f
echo $_GET['id']; # 会得到 abc\'de\"f
magic_quotes_gpc=On; 这个开启了,对写入数据库是没有影响的,比如 上面的$_GET['id'] 写到数据库里面,依然是 abc'de"f ,
相反,如果magic_quotes_gpc=Off; 那么字符中要带有引号(不管单引号还是双引号) ,直接写入mysql都会直接变成空白
但是,如果你将它写入文档,而非mysql。那么它将是 abc\'de\"f
magic_quotes_runtime
如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。
magic_quotes_sybase
如果打开的话,将会使用单引号对单引号进行转义而非反斜线。此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。
我表单内容本来是:<img alt=”" width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” />
<img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” />
对策一:修改php.ini文件(修改php.ini这个方法就不说了,大家可以google下)
对策二:把转义的给取消了
第一步:找到你提交的数据比如$_POST['content'],将其改成$content=stripslashes($_POST['content']);
第二步:以后在使用$POST['content']的地方都换成$content
第三步:提交到数据库,数据库储存还是正常的:<img alt=”" width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” />读出来又成了
<img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” />(这个应该知道怎么解决了吧?要不我再罗嗦下吧)
第四步:将数据库读取的内容再用stripslashes()过滤一下。
stripslashes() 这个函数 ,删除由addslashes()函数添加的反斜杠。用于清理从数据库或 HTML 表单中取回的数据

PHP页面中如果不希望出现以下情况:
单引号被转义为 \'
双引号被转义为 \"
那么可以进行如下设置以防止:
在php.ini中设置:magic_quotes_gpc = Off)
总结如下:
1. 对于magic_quotes_gpc=on的情况,
我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。
如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。
2. 对于magic_quotes_gpc=off 的情况
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

⑵ sql数据库语句中点号.怎么转义

转义要看情况,如果是你的库名、表明、字段名含有关键字或是不符合命名标准
即含字母数字下划线,都需要用[]括起来,以数字开头的也要用[]括起来
ESCAPE是用来转义字段内容的,比如说你要查询A字段里有_的内容
通常写法A like '%_%'由于_是通配符,这样系统就混乱了
所以需要escape转义 A like '%!_%' escape '!' 这样就能将_视为一个普通字符了

存储过程里面动态查询sql语句,如何转义单引号

这个转义的办法有点不好理解,就是用单引号转义单引号,比如''(这是两个单引号),不过很多时候是'''(三个单引号一起写),不过不要怕麻烦,最多我见过一次写了五个单引号的。

⑷ SQL 转义

用 exec 执行的目的,是因为,这个SQL语句,是动态的。
最后执行什么语句,依赖于前面的执行结果。
所以没有办法直接写。

IGemWeg/'+@IQty+'
这里的 / 是 除。 不是对 ' 的转义。

'的转义, 好像是 ''
转义的用途是, 如果你的 SQL 语句里面,有个字符串要插入varchar的字段, 但是数据里面有个 单引号。
这个时候,需要转义,让 SQL 语句能够正确地把 单引号插入到 varchar 字段的数据中

⑸ SQL转义字符

where name1='O''neal'
试试

⑹ SQL语句中转义字符怎么写

两种比较常见的方式 :1.用中括号[ ]转义。 2.用关键字ESCAPE 转义。

⑺ 关于SQL语句中含有#号如何转义的问题,急!!

selectScorefromSCwhere[C#]=60

⑻ SQL语句中转义字符怎么写

0、特殊转义:单引号
--
用2个单引号''
两种比较常见的方式
1、用中括号[]转义
WHERE
ColumnA
LIKE
'aaa[_]bbb'
---
2、用关键字ESCAPE
转义
WHERE
ColumnA
LIKE
'%aaa/%bbb%'
ESCAPE
'/'
注:
A)方式2不如1方便,适用面也窄小,清晰度也差。
B)方式0在使用动态SQL,尤其是“嵌套
+
代码生成”的高级应用中,很容易出错。

⑼ sql 查询结果转义

select 编号 ,人员,
(case when 状态='0' then '停用'
when 状态='0' then '启用'
end ) as
状态 from 表

⑽ sql需要转义的字符有哪些

特殊转义:单引号 -- 用2个单引号''

两种比较常见的方式

(1)用中括号[]转义
WHERE ColumnA LIKE 'aaa[_]bbb' ---

(2)用关键字ESCAPE 转义
WHERE ColumnA LIKE '%aaa/%bbb%' ESCAPE '/'

注:

1)方式2不如1方便,适用面也窄小,清晰度也差。

2)方式0在使用动态SQL,尤其是“嵌套 + 代码生成”的高级应用中,很容易出错