论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
SQL注入
主题分类
test1
[7403] 2018-05-04_SQL注入手工检测及利用常规攻略
文档创建者:
s7ckTeam
浏览次数:
6
最后更新:
2025-01-17
SQL注入
6 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-58
6万
主题
-6万
回帖
-58
积分
管理员
积分
-58
发消息
2018-05-04_SQL注入手工检测及利用常规攻略
S
Q
L
注
入
手
工
检
测
及
利
用
常
规
攻
略
原
创
X
i
a
o
t
i
n
g
F
1
1
T
e
a
m
2
0
1
8
-
0
5
-
0
4
0
x
0
0
前
言
前
言
S
q
l
注
入
漏
洞
根
据
表
现
形
式
分
类
注
入
漏
洞
根
据
表
现
形
式
分
类
一
个
动
态
网
页
若
存
在
s
q
l
注
入
漏
洞
,
依
据
它
的
表
现
形
式
大
致
分
为
布
尔
盲
注
(
根
据
网
页
响
应
内
容
判
断
)
、
时
间
盲
注
(
根
据
网
页
响
应
时
间
长
短
判
断
)
、
报
错
注
入
(
通
过
数
据
库
错
误
响
应
判
断
)
。
所
以
我
可
以
使
用
反
证
法
,
先
假
设
存
在
某
种
类
型
的
注
入
,
然
后
使
用
对
应
的
处
理
方
法
对
参
数
进
行
处
理
,
然
后
通
过
响
应
判
断
假
设
是
否
成
立
。
检
测
及
利
用
检
测
及
利
用
S
q
l
注
入
漏
洞
过
程
注
入
漏
洞
过
程
对
于
s
q
l
注
入
漏
洞
的
测
试
,
步
骤
大
致
可
分
为
:
判
断
是
否
存
在
注
入
点
、
判
断
数
据
库
类
型
、
枚
举
数
据
库
配
置
信
息
、
枚
举
数
据
库
模
式
信
息
、
枚
举
数
据
库
数
据
信
息
、
利
用
数
据
库
进
一
步
渗
透
操
作
系
统
。
漏
洞
检
测
核
心
思
想
漏
洞
检
测
核
心
思
想
在
检
测
s
q
l
注
入
漏
洞
时
,
请
时
刻
记
住
核
心
思
想
:
用
户
输
入
是
否
对
数
据
库
查
询
产
生
影
响
用
户
输
入
是
否
对
数
据
库
查
询
产
生
影
响
。
注
入
攻
击
的
本
质
,
用
户
输
入
的
数
据
被
当
做
代
码
执
行
。
这
里
有
两
个
关
键
条
件
条
件
,
第
一
个
是
用
户
能
够
控
制
输
入
用
户
能
够
控
制
输
入
;
第
二
个
是
原
原
本
程
序
要
执
行
的
代
码
,
拼
接
了
用
户
输
入
的
数
据
本
程
序
要
执
行
的
代
码
,
拼
接
了
用
户
输
入
的
数
据
。
0
x
0
1
判
断
是
否
存
在
注
入
点
判
断
是
否
存
在
注
入
点
以
下
我
以
自
己
实
际
工
作
的
步
骤
来
写
这
篇
文
章
示
例
U
R
L
:
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
5
&
n
a
m
e
=
8
8
8
得
出
网
站
系
统
的
基
本
信
息
得
出
网
站
系
统
的
基
本
信
息
看
到
一
个
U
R
L
的
第
一
反
应
是
:
p
h
p
脚
本
所
写
的
网
站
(
实
际
中
,
还
可
能
遇
到
a
s
p
/
a
s
p
s
/
j
s
p
,
甚
至
没
有
后
缀
名
的
情
况
,
此
时
可
能
是
伪
静
态
或
者
R
E
S
T
风
格
的
U
R
L
)
。
该
U
R
L
存
在
两
个
参
数
变
量
。
这
两
个
变
量
可
能
被
带
入
到
同
一
个
查
询
语
句
,
也
可
能
被
带
入
到
不
同
的
查
询
语
句
中
,
也
可
能
不
带
入
至
数
据
库
查
询
中
,
所
以
对
于
多
变
量
的
处
理
方
式
与
单
变
量
处
理
方
式
相
同
,
一
个
一
个
参
数
进
行
测
试
。
数
据
库
类
型
很
可
能
是
m
y
s
q
l
。
(
判
断
数
据
库
类
型
是
检
测
的
第
二
步
,
提
前
根
据
概
率
假
设
数
据
库
类
型
可
以
确
定
接
下
来
的
检
测
方
向
,
可
以
有
方
向
的
构
造
s
q
l
语
句
进
行
检
测
)
。
改
变
参
数
值
时
需
考
虑
的
因
素
改
变
参
数
值
时
需
考
虑
的
因
素
通
过
参
数
名
及
参
数
值
判
断
参
数
类
型
(
字
符
型
/
整
型
)
。
参
数
可
能
的
插
入
位
置
(
w
h
e
r
e
条
件
中
/
子
查
询
中
/
s
q
l
语
言
结
构
中
,
一
般
在
w
h
e
r
e
条
件
中
,
只
能
猜
测
)
。
s
q
l
语
言
执
行
类
型
(
s
e
l
e
c
t
/
i
n
s
e
r
t
/
d
e
l
e
t
e
/
u
p
d
a
t
e
,
在
不
涉
及
注
册
等
操
作
时
,
几
乎
是
s
e
l
e
c
t
)
等
因
素
改
变
用
户
输
入
,
判
断
是
否
对
数
据
库
查
询
产
生
影
响
。
判
断
是
否
存
在
注
入
点
的
测
试
方
法
判
断
是
否
存
在
注
入
点
的
测
试
方
法
1
.
3
.
1
常
规
测
试
在
内
联
注
入
/
终
止
注
入
的
情
况
下
测
试
网
站
系
统
是
否
过
滤
单
引
号
/
+
/
-
/
a
n
d
/
o
r
/
连
接
符
/
注
释
符
等
特
殊
字
符
。
(
此
种
测
试
是
假
设
网
站
存
在
布
尔
盲
注
或
者
报
错
注
入
的
前
提
下
进
行
的
,
适
合
所
有
类
型
数
据
库
,
但
需
注
意
各
种
数
据
库
连
接
符
与
注
释
符
的
不
同
,
也
可
从
连
接
符
与
注
释
符
的
不
同
反
方
向
判
断
出
数
据
库
类
型
)
。
内
联
注
入
—
指
向
查
询
注
入
一
些
s
q
l
代
码
后
,
原
来
的
查
询
仍
会
全
部
执
行
。
1
.
3
.
1
.
1
使
用
内
联
注
入
特
征
值
进
行
判
断
使
用
内
联
注
入
特
征
值
进
行
判
断
1
.
参
数
为
数
字
型
测
试
字
符
串
变
种
预
期
结
果
‘
(
引
号
)
如
果
成
功
代
入
会
触
发
错
误
,
数
据
库
将
返
回
一
个
错
误
(
错
误
信
息
)
,
或
者
应
用
程
序
返
回
一
个
通
用
错
误
页
面
,
说
明
引
号
被
代
入
数
据
库
。
如
果
与
原
值
一
样
,
说
明
可
能
过
滤
了
’
(
引
号
)
1
+
1
(
判
断
输
入
是
否
代
入
数
据
库
运
算
,
s
q
l
s
e
r
v
e
r
中
’
+
’
作
为
连
接
符
,
所
以
需
要
写
u
r
l
编
码
:
%
2
B
)
2
-
0
o
r
3
-
1
o
r
4
/
2
如
果
成
功
(
被
代
入
数
据
库
运
算
)
,
返
回
与
正
常
结
果
相
同
的
值
。
1
o
r
1
=
1
1
)
o
r
(
1
=
1
如
果
成
功
,
将
返
回
第
一
行
数
据
,
即
很
有
可
能
返
回
不
一
样
但
正
确
的
页
面
。
如
果
与
原
页
面
相
同
或
报
错
,
说
明
很
有
可
能
过
滤
了
o
r
v
a
l
u
e
o
r
1
=
2
v
a
l
u
e
)
o
r
(
1
=
2
如
果
成
功
,
将
返
回
原
页
面
1
a
n
d
1
=
2
1
)
a
n
d
(
1
=
2
如
果
成
功
,
将
返
回
空
或
者
网
页
框
架
1
o
r
‘
a
b
’
=
’
a
’
+
’
b
’
1
)
o
r
(
‘
a
b
’
=
’
a
’
+
’
b
’
S
q
l
s
e
r
v
e
r
字
符
串
连
接
,
成
功
将
返
回
原
值
(
同
时
可
用
来
判
断
数
据
库
类
型
)
1
o
r
‘
a
b
’
=
’
a
’
’
b
’
1
)
o
r
(
‘
a
b
’
=
’
a
’
’
b
’
M
y
s
q
l
字
符
串
连
接
(
空
格
)
,
成
功
将
返
回
原
值
(
字
符
串
连
接
符
是
判
断
数
据
库
类
型
的
常
用
方
法
)
1
o
r
‘
a
b
’
=
’
a
’
|
|
’
b
’
1
)
o
r
(
‘
a
b
’
=
’
a
’
|
|
’
b
’
O
r
a
c
l
e
字
符
串
连
接
,
成
功
将
返
回
原
值
2
.
参
数
为
字
符
型
(
此
时
需
考
虑
闭
合
问
题
闭
合
问
题
)
测
试
字
符
串
变
种
预
期
结
果
‘
(
引
号
)
如
果
成
功
会
触
发
错
误
,
数
据
库
将
返
回
一
个
错
误
,
或
者
应
用
程
序
返
回
一
个
通
用
错
误
页
面
,
说
明
引
号
被
代
入
数
据
库
。
如
果
与
原
值
一
样
,
说
明
可
能
过
滤
了
’
(
引
号
)
1
’
o
r
’
1
’
=
’
1
1
’
)
o
r
(
‘
1
’
=
’
1
如
果
成
功
,
将
返
回
第
一
行
数
据
,
即
很
有
可
能
返
回
不
一
样
但
正
确
的
页
面
。
如
果
与
原
页
面
相
同
或
报
错
,
说
明
很
有
可
能
过
滤
了
o
r
V
a
l
u
e
’
o
r
‘
1
’
=
’
2
V
a
l
u
e
’
)
o
r
(
‘
1
=
2
如
果
成
功
,
将
返
回
原
页
面
1
’
a
n
d
‘
1
’
=
’
2
1
’
)
a
n
d
(
‘
1
’
=
’
2
如
果
成
功
,
将
返
回
空
或
者
网
页
框
架
1
’
o
r
‘
a
b
’
=
’
a
’
+
’
b
1
’
)
o
r
(
‘
a
b
’
=
’
a
’
+
’
b
S
q
l
s
e
r
v
e
r
字
符
串
连
接
,
成
功
将
返
回
原
值
(
同
时
可
用
来
判
断
数
据
库
类
型
)
1
’
o
r
‘
a
b
’
=
’
a
’
’
b
1
’
)
o
r
(
‘
a
b
’
=
’
a
’
’
b
M
y
s
q
l
字
符
串
连
接
(
空
格
)
,
成
功
将
返
回
原
值
(
字
符
串
连
接
符
是
判
断
数
据
库
类
型
的
常
用
方
法
)
1
’
o
r
‘
a
b
’
=
’
a
’
|
|
’
b
1
’
)
o
r
(
‘
a
b
’
=
’
a
’
|
|
’
b
O
r
a
c
l
e
字
符
串
连
接
,
成
功
将
返
回
原
值
1
.
3
.
1
.
2
使
用
使
用
终
止
注
入
特
征
值
终
止
注
入
特
征
值
进
行
判
断
进
行
判
断
测
试
字
符
串
变
种
预
期
结
果
v
a
l
u
e
‘
-
-
(
有
一
个
空
格
)
v
a
l
u
e
’
)
-
-
通
过
返
回
数
据
库
中
的
v
a
l
u
e
行
集
来
绕
过
身
份
验
证
机
制
。
如
果
失
败
则
说
明
过
滤
了
-
-
v
a
l
u
e
‘
#
v
a
l
u
e
’
)
#
通
过
返
回
数
据
库
中
的
v
a
l
u
e
行
集
来
绕
过
身
份
验
证
机
制
(
#
为
m
y
s
q
l
专
有
注
释
符
)
。
如
果
是
则
说
明
过
滤
了
#
1
-
-
1
)
-
-
注
释
之
后
剩
下
的
查
询
1
o
r
1
=
1
-
-
(
数
值
型
)
1
)
o
r
1
=
1
-
-
如
果
成
功
,
将
返
回
第
一
行
数
据
,
即
很
有
可
能
返
回
不
一
样
但
正
确
的
页
面
。
如
果
与
原
页
面
相
同
或
报
错
,
说
明
很
有
可
能
过
滤
了
o
r
1
’
o
r
‘
1
’
=
’
1
’
-
-
(
字
符
串
型
)
1
’
)
o
r
‘
1
’
=
’
1
’
-
-
如
果
成
功
,
将
返
回
第
一
行
数
据
,
即
很
有
可
能
返
回
不
一
样
但
正
确
的
页
面
。
如
果
与
原
页
面
相
同
或
报
错
,
说
明
很
有
可
能
过
滤
了
o
r
1
a
n
d
1
=
2
-
-
1
)
a
n
d
1
=
2
-
-
如
果
成
功
,
将
返
回
空
或
者
网
页
框
架
1
’
a
n
d
‘
1
’
=
’
2
’
-
-
1
’
)
a
n
d
‘
1
’
=
’
2
’
-
-
如
果
成
功
,
将
返
回
空
或
者
网
页
框
架
1
/
*
*
/
(
注
释
)
如
果
成
功
,
返
回
原
页
面
v
a
l
u
e
a
n
d
s
e
l
e
c
t
1
|
|
U
t
l
_
H
t
t
p
.
r
e
q
u
e
s
t
(
‘
h
t
t
p
:
/
/
x
x
x
x
.
c
o
m
’
)
f
r
o
m
d
u
a
l
变
种
同
上
当
假
设
数
据
库
类
型
为
o
r
a
c
l
e
且
版
本
时
使
用
此
测
试
字
符
串
,
若
页
面
连
接
超
时
,
无
法
正
常
显
示
则
说
明
存
在
时
间
延
迟
注
入
1
.
3
.
1
.
3
使
用
注
入
多
条
语
句
进
行
判
断
使
用
注
入
多
条
语
句
进
行
判
断
测
试
字
符
串
变
种
预
期
结
果
‘
;
[
s
q
l
语
句
]
;
-
-
如
;
w
a
i
t
f
o
r
d
e
l
a
y
‘
0
:
0
:
5
’
;
-
-
‘
)
;
[
s
q
l
语
句
]
-
-
注
入
一
个
字
符
串
,
执
行
多
条
语
句
‘
;
[
s
q
l
语
句
]
;
#
‘
)
;
[
s
q
l
语
句
]
;
#
注
入
一
个
字
符
串
,
执
行
多
条
语
句
(
m
y
s
q
l
专
用
,
如
果
数
据
库
支
持
多
语
句
的
话
)
;
[
s
q
l
语
句
]
;
-
-
注
入
一
个
数
值
型
参
数
,
执
行
多
条
语
句
;
[
s
q
l
语
句
]
;
#
注
入
一
个
数
值
型
参
数
,
执
行
多
条
语
句
(
m
y
s
q
l
专
用
,
如
果
数
据
库
支
持
多
语
句
的
话
)
1
.
3
.
2
特
殊
测
试
使
用
时
间
盲
注
进
行
测
试
。
假
设
网
站
系
统
存
在
时
间
盲
注
,
此
测
试
需
要
根
据
不
同
的
数
据
库
使
用
不
同
的
时
间
延
迟
函
数
进
行
。
S
q
l
s
e
r
v
e
r
时
间
延
迟
函
数
:
w
a
i
t
f
o
r
d
e
l
a
y
M
y
s
q
l
时
间
延
迟
函
数
:
s
l
e
e
p
(
版
本
>
=
5
.
0
.
1
2
)
b
e
n
c
h
m
a
r
k
(
版
本
<
5
.
0
.
1
2
)
O
r
a
c
l
e
没
有
时
间
延
迟
函
数
,
但
可
以
使
用
U
T
L
_
H
T
T
P
连
接
一
个
不
存
在
的
服
务
器
,
造
成
一
次
操
作
超
时
,
达
到
时
间
延
迟
的
效
果
测
试
字
符
串
测
试
字
符
串
变
种
变
种
预
期
结
果
预
期
结
果
v
a
l
u
e
;
w
a
i
t
f
o
r
d
e
l
a
y
‘
0
:
0
:
5
’
-
-
v
a
l
u
e
)
;
w
a
i
t
f
o
r
d
e
l
a
y
‘
0
:
0
:
5
’
–
v
a
l
u
e
’
;
w
a
i
t
f
o
r
d
e
l
a
y
‘
0
:
0
:
5
’
-
-
v
a
l
u
e
’
)
;
w
a
i
t
f
o
r
d
e
l
a
y
‘
0
:
0
:
5
’
-
-
当
假
设
数
据
库
类
型
为
s
q
l
s
e
r
v
e
r
且
开
启
了
堆
查
询
时
使
用
此
测
试
字
符
串
,
若
页
面
延
迟
大
约
5
s
左
右
正
常
显
示
则
说
明
存
在
时
间
延
迟
注
入
v
a
l
u
e
a
n
d
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
’
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
)
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
’
)
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
’
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
)
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
v
a
l
u
e
’
)
a
n
d
s
e
l
e
c
t
s
l
e
e
p
(
5
)
-
-
当
假
设
数
据
库
类
型
为
m
y
s
q
l
且
版
本
>
=
5
.
0
.
1
2
时
使
用
此
测
试
字
符
串
,
若
页
面
延
迟
大
约
5
s
左
右
正
常
显
示
则
说
明
存
在
时
间
延
迟
注
入
v
a
l
u
e
a
n
d
b
e
n
c
h
m
a
r
k
(
5
0
0
0
0
0
0
,
s
h
a
1
(
‘
t
e
s
t
’
)
)
-
-
v
a
l
u
e
'
a
n
d
b
e
n
c
h
m
a
r
k
(
5
0
0
0
0
0
0
,
s
h
a
1
(
‘
t
e
s
t
’
)
)
-
-
变
种
同
上
当
假
设
数
据
库
类
型
为
m
y
s
q
l
且
版
本
<
5
.
0
.
1
2
时
使
用
此
测
试
字
符
串
,
若
页
面
延
迟
大
约
5
s
左
右
正
常
显
示
则
说
明
存
在
时
间
延
迟
注
入
0
x
0
2
判
断
数
据
库
类
型
判
断
数
据
库
类
型
从
此
时
开
始
,
我
们
已
经
可
以
执
行
部
分
s
q
l
语
句
了
。
事
实
上
,
只
要
能
执
行
一
个
某
种
数
据
库
特
有
的
函
数
,
我
们
就
能
够
判
断
出
数
据
库
的
类
型
。
甚
至
在
第
一
步
中
从
我
们
使
用
的
连
接
符
就
已
经
能
够
判
断
出
数
据
库
的
类
型
。
但
有
时
我
们
通
过
简
单
的
布
尔
盲
注
(
如
a
n
d
1
=
1
a
n
d
1
=
2
)
就
已
经
确
认
网
站
存
在
s
q
l
注
入
漏
洞
,
此
时
根
据
系
统
的
方
法
去
判
断
数
据
库
的
类
型
又
显
得
格
外
的
重
要
。
能
够
相
对
准
确
的
判
断
数
据
的
方
法
有
报
错
、
时
间
延
迟
(
实
际
是
根
据
时
间
延
迟
函
数
函
数
的
不
同
)
、
s
q
l
方
言
(
各
种
数
据
库
之
间
的
差
异
)
。
2
.
1
报
错
方
式
报
错
方
式
因
为
各
种
数
据
库
的
错
误
信
息
不
同
,
所
以
当
网
站
系
统
未
处
理
数
据
库
产
生
的
错
误
,
而
是
直
接
显
示
在
前
端
的
时
候
,
可
以
根
据
错
误
信
息
判
断
数
据
库
类
型
。
2
.
1
.
1
引
号
报
错
测
试
字
符
串
可
能
产
生
的
的
错
误
信
息
判
断
出
的
数
据
库
类
型
v
a
l
u
e
‘
Y
o
u
h
a
v
e
a
n
e
r
r
o
r
i
n
y
o
u
r
S
Q
L
s
y
n
t
a
x
.
C
h
e
c
k
t
h
e
m
a
n
u
a
l
t
h
a
t
c
o
r
r
e
s
p
o
n
d
s
t
o
y
o
u
r
M
y
S
Q
L
s
e
r
v
e
r
v
e
r
s
i
o
n
f
o
r
t
h
e
r
i
g
h
t
s
y
n
t
a
x
t
o
u
s
e
n
e
a
r
‘
v
a
l
u
e
’
’
a
t
l
i
n
e
X
M
y
S
Q
L
M
s
g
1
7
0
,
L
e
v
e
l
1
5
,
S
t
a
t
e
1
,
L
i
n
e
1
L
i
n
e
1
:
I
n
c
o
r
r
e
c
t
s
y
n
t
a
x
n
e
a
r
‘
f
o
o
M
s
g
1
0
5
,
L
e
v
e
l
1
5
,
S
t
a
t
e
1
,
L
i
n
e
1
U
n
c
l
o
s
e
d
q
u
o
t
a
t
i
o
n
m
a
r
k
b
e
f
o
r
e
t
h
e
c
h
a
r
a
c
t
e
r
s
t
r
i
n
g
v
a
l
u
e
’
S
Q
L
S
e
r
v
e
r
O
R
A
-
0
1
7
5
6
:
q
u
o
t
e
d
s
t
r
i
n
g
n
o
t
p
r
o
p
e
r
l
y
t
e
r
m
i
n
a
t
e
d
O
R
A
-
0
0
9
3
3
:
S
Q
L
c
o
m
m
a
n
d
n
o
t
p
r
o
p
e
r
l
y
e
n
d
e
d
O
r
a
c
l
e
2
.
1
.
2
U
n
i
o
n
报
错
测
试
字
符
串
可
能
产
生
的
的
错
误
信
息
判
断
出
的
数
据
库
类
型
使
用
u
n
i
o
n
查
询
:
当
指
定
的
列
数
与
原
始
s
e
l
e
c
t
语
句
列
数
不
同
时
或
者
数
据
类
型
不
匹
配
时
会
发
生
错
误
T
h
e
u
s
e
d
S
E
L
E
C
T
s
t
a
t
e
m
e
n
t
s
h
a
v
e
a
d
i
f
f
e
r
e
n
t
n
u
m
b
e
r
o
f
c
o
l
u
m
n
s
M
y
S
Q
L
M
s
g
2
0
5
…
…
S
Q
L
S
e
r
v
e
r
O
R
A
-
0
1
7
9
0
:
…
…
O
r
a
c
l
e
2
.
1
.
3
强
制
类
型
转
换
错
误
在
数
据
库
当
中
,
整
型
数
据
能
够
自
适
应
转
换
为
字
符
型
数
据
,
但
当
将
字
符
型
数
据
强
制
转
换
为
整
型
就
会
报
错
字
符
型
数
据
强
制
转
换
为
整
型
就
会
报
错
。
测
试
字
符
串
可
能
产
生
的
的
错
误
信
息
判
断
出
的
数
据
库
类
型
v
a
l
u
e
a
n
d
(
s
e
l
e
c
t
1
f
r
o
m
(
s
e
l
e
c
t
c
o
u
n
t
(
*
)
,
c
o
n
c
a
t
(
(
s
e
l
e
c
t
v
e
r
s
i
o
n
(
)
)
,
f
l
o
o
r
(
r
a
n
d
(
0
)
*
2
)
)
x
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
t
a
b
l
e
s
g
r
o
u
p
b
y
x
)
a
)
#
Y
o
u
h
a
v
e
a
n
e
r
r
o
r
i
n
y
o
u
r
S
Q
L
s
y
n
t
a
x
…
…
M
y
S
Q
L
v
a
l
u
e
a
n
d
1
i
n
(
S
E
L
E
C
T
@
@
v
e
r
s
i
o
n
)
-
-
(
注
:
字
符
型
要
先
闭
合
查
询
语
句
)
v
a
l
u
e
a
n
d
1
=
C
O
N
V
E
R
T
(
I
N
T
,
(
S
E
L
E
C
T
@
@
V
E
R
S
I
O
N
)
)
-
-
M
s
g
2
0
5
…
…
S
Q
L
S
e
r
v
e
r
v
a
l
u
e
a
n
d
1
=
(
u
t
l
_
i
n
a
d
d
r
.
g
e
t
_
h
o
s
t
_
n
a
m
e
(
(
s
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
v
$
v
e
r
s
i
o
n
w
h
e
r
e
r
o
w
n
u
m
=
1
)
)
)
-
-
v
a
l
u
e
a
n
d
1
=
C
T
X
S
Y
S
.
D
R
I
T
H
S
X
.
S
N
(
1
,
(
s
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
v
$
v
e
r
s
i
o
n
w
h
e
r
e
r
o
w
n
u
m
=
1
)
)
-
-
O
R
A
-
0
1
7
9
0
:
…
…
O
r
a
c
l
e
2
.
1
.
4
除
零
(
X
/
0
)
错
误
测
试
字
符
串
可
能
产
生
的
的
错
误
信
息
判
断
出
的
数
据
库
类
型
v
a
l
u
e
a
n
d
s
e
l
e
c
t
1
/
0
-
-
v
a
l
u
e
a
n
d
s
e
l
e
c
t
1
/
0
f
r
o
m
d
u
a
l
-
-
(
在
O
r
a
c
l
e
中
s
e
l
e
c
t
必
须
与
f
r
o
m
结
合
使
用
,
所
以
使
用
虚
拟
表
d
u
a
l
)
M
y
s
q
l
没
有
除
零
错
误
,
在
m
y
s
q
l
当
中
,
1
/
0
=
n
u
l
l
M
y
S
Q
L
M
s
g
2
0
5
…
…
S
Q
L
S
e
r
v
e
r
O
R
A
-
0
1
7
9
0
:
…
…
O
r
a
c
l
e
2
.
2
时
间
延
迟
时
间
延
迟
此
小
节
内
容
同
第
一
步
中
的
“
特
殊
测
试
”
,
下
表
格
为
补
充
平
台
时
间
延
迟
S
Q
L
S
e
r
v
e
r
W
A
I
T
F
O
R
D
E
L
A
Y
‘
0
:
0
:
1
0
’
O
r
a
c
l
e
B
E
G
I
N
D
B
M
S
_
L
O
C
K
.
S
L
E
E
P
(
5
)
;
E
N
D
;
(
仅
P
L
/
S
Q
L
注
入
)
S
E
L
E
C
T
U
T
L
_
I
N
A
D
D
R
.
g
e
t
_
h
o
s
t
_
n
a
m
e
(
‘
1
9
2
.
1
6
8
.
0
.
1
’
)
F
R
O
M
d
u
a
l
S
E
L
E
C
T
U
T
L
_
I
N
A
D
D
R
.
g
e
t
_
h
o
s
t
_
a
d
d
r
e
s
s
(
‘
f
o
o
.
n
o
w
h
e
r
e
9
9
9
.
z
o
m
’
)
f
r
o
m
d
u
a
l
S
E
L
E
C
T
U
T
L
_
H
T
T
P
.
R
E
Q
U
E
S
T
(
‘
h
t
t
p
:
/
/
w
w
w
.
o
r
a
c
l
e
.
c
o
m
’
)
f
r
o
m
d
u
a
l
M
y
s
q
l
B
E
N
C
H
M
A
R
K
(
1
0
0
0
0
0
0
,
M
D
5
(
“
h
a
c
k
”
)
)
-
-
低
于
5
.
0
.
1
2
版
本
S
L
E
E
P
(
1
0
)
-
-
5
.
0
.
1
2
版
本
及
以
上
P
o
s
t
g
r
e
S
Q
L
S
E
L
E
C
T
p
g
_
s
l
e
e
p
(
1
0
)
;
-
-
8
.
2
版
本
及
以
上
C
R
E
A
T
E
O
R
R
E
P
L
A
C
E
F
U
N
C
T
I
O
N
p
g
_
s
l
e
e
p
(
i
n
t
)
R
E
T
U
R
N
S
i
n
t
A
S
‘
/
l
i
b
/
l
i
b
c
.
s
o
.
6
’
,
’
s
l
e
e
p
’
l
a
n
g
u
a
g
e
‘
C
’
S
T
R
I
C
T
;
-
-
在
l
i
n
u
x
上
创
建
p
g
_
s
l
e
e
p
函
数
,
要
求
p
o
s
t
g
r
e
/
p
g
s
q
l
级
别
的
权
限
2
.
3
S
Q
L
方
言
方
言
平
台
连
接
符
行
注
释
唯
一
的
默
认
表
I
n
t
转
c
h
a
r
函
数
S
q
l
s
e
r
v
e
r
‘
a
’
+
’
b
’
-
-
@
@
P
A
C
K
_
R
E
C
E
I
V
E
D
c
h
a
r
(
0
x
4
1
)
O
r
a
c
l
e
‘
a
’
|
|
’
b
’
C
o
n
c
a
t
(
‘
a
’
,
’
b
’
)
-
-
B
I
T
A
N
D
(
1
,
1
)
c
h
r
(
6
5
)
M
y
s
q
l
‘
a
’
(
空
格
)
’
b
’
C
o
n
c
a
t
(
‘
a
’
,
’
b
’
)
-
-
(
空
格
)
#
C
O
N
N
E
C
T
I
O
N
_
I
D
(
)
c
h
a
r
(
0
x
4
1
)
A
c
c
e
s
s
“
a
”
&
“
b
”
N
/
A
(
无
)
m
s
y
s
o
b
j
e
c
t
s
c
h
r
(
6
5
)
P
o
s
t
g
r
e
s
q
l
‘
a
’
|
|
’
b
’
-
-
G
e
t
p
g
u
s
e
r
n
a
m
e
(
)
c
h
r
(
6
5
)
D
b
2
‘
a
’
c
o
n
c
a
t
‘
b
’
-
-
S
y
s
i
b
m
.
s
y
s
t
a
b
l
e
s
c
h
r
(
6
5
)
此
方
式
的
思
路
是
使
用
各
种
数
据
库
特
有
的
方
言
代
替
常
规
测
试
中
的
值
,
如
代
替
’
a
n
d
1
=
1
-
-
:
S
q
l
s
e
r
v
e
r
:
‘
a
n
d
@
@
P
A
C
K
_
R
E
C
E
I
V
E
D
=
@
@
P
A
C
K
_
R
E
C
E
I
V
E
D
-
-
M
y
s
q
l
:
‘
a
n
d
C
O
N
N
E
C
T
I
O
N
_
I
D
(
)
=
C
O
N
N
E
C
T
I
O
N
_
I
D
(
)
-
-
O
r
a
c
l
e
:
‘
a
n
d
B
I
T
A
N
D
(
1
,
1
)
=
B
I
T
A
N
D
(
1
,
1
)
-
-
P
o
s
t
g
r
e
s
q
l
:
‘
a
n
d
G
e
t
p
g
u
s
e
r
n
a
m
e
(
)
=
G
e
t
p
g
u
s
e
r
n
a
m
e
(
)
–
0
x
0
3
枚
举
数
据
库
信
息
枚
举
数
据
库
信
息
枚
举
数
据
库
信
息
的
核
心
思
路
枚
举
数
据
库
信
息
的
核
心
思
路
枚
举
数
据
库
信
息
包
括
枚
举
数
据
库
配
置
信
息
(
数
据
库
层
面
的
信
息
,
如
版
本
、
数
据
库
用
户
、
用
户
权
限
等
)
、
数
据
库
模
式
信
息
(
即
实
例
名
、
表
名
、
列
名
)
、
数
据
库
数
据
信
息
,
核
心
思
路
是
将
一
个
S
Q
L
语
句
中
的
某
个
值
作
为
变
量
,
将
对
应
的
数
据
库
常
量
或
者
函
数
替
换
此
变
量
,
获
取
所
需
的
信
息
。
所
以
这
个
所
谓
的
S
Q
L
语
句
就
成
了
我
们
学
习
的
重
点
,
在
实
际
检
测
漏
洞
的
过
程
中
,
我
们
应
该
能
够
做
到
在
不
同
的
情
况
使
用
不
用
的
S
Q
L
语
句
达
到
我
们
的
目
的
。
数
据
库
配
置
信
息
数
据
库
配
置
信
息
可
枚
举
的
数
据
库
配
置
信
息
包
括
数
据
库
版
本
信
息
、
当
前
用
户
、
所
有
用
户
列
表
、
当
前
用
户
权
限
、
数
据
库
服
务
器
主
机
名
等
。
以
下
为
各
类
数
据
库
详
细
的
可
枚
举
的
数
据
库
配
置
信
息
。
3
.
2
.
1
S
Q
L
S
e
r
v
e
r
数
据
查
询
版
本
S
e
l
e
c
t
@
@
v
e
r
s
i
o
n
;
当
前
用
户
S
e
l
e
c
t
s
y
s
t
e
m
_
u
s
e
r
;
S
e
l
e
c
t
s
u
s
e
r
_
s
n
a
m
e
(
)
;
S
e
l
e
c
t
u
s
e
r
;
S
e
l
e
c
t
l
o
g
i
n
a
m
e
f
r
o
m
m
a
s
t
e
r
.
.
s
y
s
p
r
o
c
e
s
s
e
s
w
h
e
r
e
s
p
i
d
=
@
@
S
P
I
D
列
出
用
户
S
e
l
e
c
t
n
a
m
e
f
r
o
m
m
a
s
t
e
r
.
.
s
y
s
l
o
g
i
n
s
;
当
前
用
户
权
限
(
用
户
为
s
a
则
返
回
1
,
否
则
0
)
S
e
l
e
c
t
i
s
_
s
r
v
o
l
e
m
e
n
b
e
r
(
s
y
s
a
d
m
i
n
)
;
数
据
库
服
务
器
主
机
名
S
e
l
e
c
t
@
@
s
e
r
v
e
r
n
a
m
e
;
S
e
l
e
c
t
s
e
r
v
e
r
o
r
o
p
e
r
t
y
(
‘
p
r
o
d
u
c
t
v
e
r
s
i
o
n
’
)
;
S
e
r
v
e
r
p
r
o
p
e
r
t
y
(
‘
p
r
o
d
u
c
t
l
e
v
e
l
’
)
,
s
e
r
v
e
r
p
r
o
p
e
r
t
y
(
‘
e
d
i
t
i
o
n
’
)
;
-
-
仅
2
0
0
5
版
本
3
.
2
.
2
M
y
S
Q
L
(
数
据
库
自
带
的
内
置
表
[
1
]
)
数
据
查
询
版
本
S
e
l
e
c
t
@
@
v
e
r
s
i
o
n
;
当
前
用
户
S
e
l
e
c
t
u
s
e
r
(
)
;
S
e
l
e
c
t
s
y
s
t
e
m
_
u
s
e
r
(
)
;
列
出
用
户
S
e
l
e
c
t
u
s
e
r
f
r
o
m
m
y
s
q
l
.
u
s
e
r
;
当
前
用
户
权
限
S
e
l
e
c
t
g
r
a
n
t
e
e
.
p
r
i
v
i
l
e
g
e
_
t
y
p
e
,
i
s
_
g
r
a
n
t
a
b
l
e
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
u
s
e
r
_
p
r
i
v
i
l
e
g
e
s
;
3
.
2
.
3
O
r
a
c
l
e
数
据
查
询
版
本
S
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
v
$
v
e
r
s
i
o
n
;
当
前
用
户
S
e
l
e
c
t
u
s
e
r
f
r
o
m
d
u
a
l
;
列
出
用
户
S
e
l
e
c
t
u
s
e
r
n
a
m
e
f
r
o
m
a
l
l
_
u
s
e
r
o
r
d
e
r
b
y
u
s
e
r
n
a
m
e
;
当
前
用
户
权
限
S
e
l
e
c
t
*
f
r
o
m
u
s
e
r
_
r
o
l
e
_
p
r
i
v
s
;
S
e
l
e
c
t
*
f
r
o
m
u
s
e
r
_
t
a
b
_
p
r
i
v
s
;
S
e
l
e
c
t
*
f
r
o
m
u
s
e
r
_
s
y
s
_
p
r
i
v
s
;
S
e
l
e
c
t
s
y
s
_
c
o
n
t
e
x
t
(
‘
U
S
E
R
E
N
V
’
,
’
I
S
D
B
A
’
)
f
r
o
m
d
u
a
l
;
S
e
l
e
c
t
g
r
a
n
t
e
e
f
r
o
m
d
b
a
_
s
y
s
_
p
r
i
v
s
w
h
e
r
e
p
r
i
v
i
l
e
g
e
=
’
s
e
l
e
c
t
a
n
y
d
i
c
t
i
o
n
a
r
y
’
;
应
用
服
务
器
主
机
名
S
e
l
e
c
t
s
y
s
_
c
o
n
t
e
x
t
(
‘
U
S
E
R
E
N
V
’
,
’
H
O
S
T
’
)
f
r
o
m
d
u
a
l
;
S
e
l
e
c
t
s
y
s
_
c
o
n
t
e
x
t
(
‘
U
S
E
R
E
N
V
’
,
’
S
E
R
V
E
R
_
H
O
S
T
’
)
f
r
o
m
d
u
a
l
;
数
据
库
服
务
器
主
机
名
S
e
l
e
c
t
u
t
l
_
i
n
a
d
d
r
.
g
e
t
_
h
o
s
t
_
n
a
m
e
f
r
o
m
d
u
a
l
;
建
立
外
部
连
接
S
e
l
e
c
t
u
t
l
_
h
t
t
p
.
r
e
q
u
e
s
t
(
‘
h
t
t
p
:
/
/
a
t
t
a
c
k
e
r
:
1
0
0
0
/
’
|
|
(
s
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
v
$
v
e
r
s
i
o
n
w
h
e
r
e
r
o
w
n
u
m
=
1
)
)
f
r
o
m
d
u
a
l
;
-
-
上
述
语
句
使
用
端
口
1
0
0
0
与
主
机
建
立
了
一
条
H
H
T
P
连
接
,
攻
击
者
(
H
T
T
P
请
求
)
在
请
求
路
径
中
包
含
了
o
r
a
c
l
e
的
版
本
标
志
引
发
错
误
引
发
包
含
版
本
标
志
的
错
误
A
n
d
1
=
(
u
t
l
_
i
n
a
d
d
r
.
g
e
t
_
h
o
s
t
_
n
a
m
e
(
(
s
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
v
$
v
e
r
s
i
o
n
w
h
e
r
e
r
o
w
n
u
m
=
1
)
)
)
-
-
数
据
库
模
式
信
息
数
据
库
模
式
信
息
可
枚
举
的
数
据
库
模
式
信
息
包
括
数
据
库
实
例
列
表
、
当
前
数
据
库
、
表
名
、
列
名
等
。
S
Q
L
S
e
r
v
e
r
数
据
查
询
当
前
数
据
库
S
e
l
e
c
t
d
b
_
n
a
m
e
(
)
;
列
出
数
据
库
S
e
l
e
c
t
n
a
m
e
f
r
o
m
m
a
s
t
e
r
.
.
s
y
s
d
a
t
a
b
a
s
e
s
;
S
e
l
e
c
t
d
b
_
n
a
m
e
(
N
)
;
-
-
w
h
e
r
e
N
i
s
t
h
e
d
a
t
a
b
a
s
e
n
u
m
b
e
r
列
出
表
当
前
数
据
库
的
表
:
S
e
l
e
c
t
n
a
m
e
f
r
o
m
s
y
s
o
b
j
e
c
t
s
w
h
e
r
e
x
t
y
p
e
=
’
U
’
;
S
e
l
e
c
t
n
a
m
e
f
r
o
m
s
y
s
o
b
j
e
c
t
s
w
h
e
r
e
x
t
y
p
e
=
’
V
’
;
-
-
视
图
M
a
s
t
e
r
数
据
库
中
的
表
:
S
e
l
e
c
t
n
a
m
e
f
r
o
m
m
a
s
t
e
r
.
.
s
y
s
o
b
j
e
c
t
s
w
h
e
r
e
x
t
y
p
e
=
’
U
’
;
S
e
l
e
c
t
n
a
m
e
f
r
o
m
m
a
s
t
e
r
.
.
s
y
s
o
b
j
e
c
t
s
w
h
e
r
e
x
t
y
p
e
=
’
V
’
;
列
出
列
当
前
数
据
库
中
表
的
列
名
:
S
e
l
e
c
t
n
a
m
e
f
r
o
m
s
y
s
c
o
l
u
m
n
s
w
h
e
r
e
i
d
=
o
b
j
e
c
t
_
i
d
(
‘
表
名
’
)
;
a
d
m
i
n
数
据
库
中
表
的
列
名
:
S
e
l
e
c
t
n
a
m
e
f
r
o
m
a
d
m
i
n
.
.
s
y
s
c
o
l
u
m
n
s
w
h
e
r
e
i
d
=
o
b
j
e
c
t
_
i
d
(
‘
表
名
’
)
;
M
y
S
Q
L
数
据
查
询
当
前
数
据
库
S
e
l
e
c
t
d
a
t
a
b
a
s
e
(
)
;
列
出
数
据
库
S
e
l
e
c
t
s
c
h
e
m
a
_
n
a
m
e
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
s
c
h
e
m
a
t
a
;
列
出
表
当
前
数
据
库
的
表
:
U
n
i
o
n
s
e
l
e
c
t
t
a
b
l
e
_
n
a
m
e
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
t
a
b
l
e
s
w
h
e
r
e
t
a
b
l
e
_
s
c
h
e
m
a
=
d
a
t
a
b
a
s
e
(
)
;
所
有
用
户
自
定
义
数
据
库
中
的
所
有
表
:
S
e
l
e
c
t
t
a
b
l
e
_
s
c
h
e
m
a
,
t
a
b
l
e
_
n
a
m
e
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
t
a
b
l
e
s
w
h
e
r
e
t
a
b
l
e
_
s
c
h
e
m
a
!
=
’
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
’
a
n
d
t
a
b
l
e
_
s
c
h
e
m
a
!
=
’
m
y
s
q
l
’
;
列
出
列
当
前
数
据
库
中
表
的
列
名
:
S
e
l
e
c
t
c
o
l
u
m
n
_
n
a
m
e
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
c
o
l
u
m
n
s
w
h
e
r
e
t
a
b
l
e
_
n
a
m
e
=
’
表
名
’
;
所
有
用
户
自
定
义
数
据
库
中
的
所
有
列
:
S
e
l
e
c
t
t
a
b
l
e
_
s
c
h
e
m
a
,
t
a
b
l
e
_
n
a
m
e
,
c
o
l
u
m
n
_
n
a
m
e
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
c
o
l
u
m
n
s
w
h
e
r
e
t
a
b
l
e
_
s
c
h
e
m
a
!
=
’
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
’
a
n
d
t
a
b
l
e
_
s
c
h
e
m
a
!
=
’
m
y
s
q
l
’
;
O
r
a
c
l
e
数
据
查
询
数
据
库
名
S
e
l
e
c
t
g
l
o
b
a
l
_
n
a
m
e
f
r
o
m
g
l
o
b
a
l
_
n
a
m
e
;
列
出
模
式
/
用
户
S
e
l
e
c
t
u
s
e
r
n
a
m
e
f
r
o
m
a
l
l
_
u
s
e
r
s
;
列
出
表
名
及
其
模
式
S
e
l
e
c
t
o
w
e
r
,
t
a
b
l
e
_
n
a
m
e
f
r
o
m
a
l
l
_
u
s
e
r
s
;
列
出
列
S
e
l
e
c
t
o
w
e
r
,
t
a
b
l
e
_
n
a
m
e
,
c
o
l
u
m
n
_
n
a
m
e
f
r
o
m
a
l
l
_
t
a
b
_
c
o
l
u
m
n
s
w
h
e
r
e
t
a
b
l
e
_
n
a
m
e
=
’
表
名
’
;
枚
举
数
据
库
信
息
的
方
式
枚
举
数
据
库
信
息
的
方
式
枚
举
数
据
库
中
信
息
的
方
式
根
据
前
端
页
面
的
显
示
情
况
可
以
分
大
致
分
为
可
显
注
入
、
报
错
注
入
、
盲
注
(
包
括
基
于
内
容
的
盲
注
、
基
于
错
误
盲
注
、
基
于
时
间
的
盲
注
)
。
可
显
注
入
枚
举
数
据
库
信
息
使
用
可
显
注
入
方
式
的
场
景
及
原
理
使
用
可
显
注
入
方
式
的
场
景
及
原
理
当
原
始
查
询
的
列
会
被
显
示
到
前
端
页
面
的
时
候
,
就
可
以
使
用
可
显
注
入
枚
举
数
据
库
的
信
息
,
至
于
如
何
得
知
原
始
查
询
的
列
是
否
会
被
显
示
到
前
端
页
面
,
用
u
n
i
o
n
查
询
试
一
试
就
知
道
了
。
可
显
注
入
的
技
巧
其
实
就
是
u
n
i
o
n
联
合
查
询
。
使
用
使
用
u
n
i
o
n
联
合
查
询
的
条
件
联
合
查
询
的
条
件
因
为
使
用
u
n
i
o
n
查
询
需
要
满
足
两
个
条
件
才
能
使
用
,
所
以
在
构
造
S
Q
L
语
句
时
需
要
考
虑
这
两
个
因
素
。
指
定
查
询
与
原
始
查
询
的
列
数
相
同
。
指
定
查
询
与
原
始
查
询
对
应
列
的
数
据
类
型
相
同
(
M
y
S
Q
L
例
外
)
可
显
注
入
的
枚
举
步
骤
可
显
注
入
的
枚
举
步
骤
O
r
d
e
r
b
y
句
式
本
来
的
作
用
是
根
据
列
名
进
行
顺
序
排
列
,
如
o
r
d
e
r
b
y
n
a
m
e
。
但
当
o
r
d
e
r
b
y
+
数
字
的
时
候
就
成
了
根
据
列
数
进
行
顺
序
排
列
,
此
功
能
被
变
相
用
来
探
测
原
始
查
询
的
列
数
,
成
功
的
满
足
了
u
n
i
o
n
联
合
查
询
的
第
一
个
条
件
。
S
Q
L
S
e
r
v
e
r
和
O
r
a
c
l
e
允
许
使
用
n
u
l
l
代
替
具
体
列
名
,
而
n
u
l
l
可
以
与
任
何
数
据
类
型
(
整
型
、
字
符
型
)
转
换
,
所
以
可
以
构
造
S
Q
L
语
句
如
u
n
i
o
n
s
e
l
e
c
t
n
u
l
l
,
n
u
l
l
,
n
u
l
l
f
r
o
m
d
u
a
l
(
假
设
列
数
为
3
)
对
数
据
进
行
查
询
,
成
功
满
足
u
n
i
o
n
联
合
查
询
的
第
二
个
条
件
。
所
以
使
用
u
n
i
o
n
联
合
查
询
枚
举
数
据
库
信
息
的
步
骤
为
o
r
d
e
r
b
y
确
定
列
数
(
事
实
上
,
也
可
以
使
用
u
n
i
o
n
s
e
l
e
c
t
查
询
列
数
,
递
归
增
加
n
u
l
l
的
数
量
即
可
,
当
n
u
l
l
的
数
量
与
列
数
相
同
时
,
页
面
会
正
常
显
示
,
其
他
情
况
皆
会
错
误
响
应
)
,
然
后
u
n
i
o
n
s
e
l
e
c
t
查
询
数
据
。
因
为
主
流
数
据
库
均
支
持
u
n
i
o
n
联
合
查
询
,
所
以
构
造
的
S
Q
L
语
句
除
了
连
接
符
的
不
同
,
以
及
变
量
部
分
需
要
替
换
各
类
数
据
库
的
特
有
的
函
数
与
常
量
外
,
结
构
都
相
差
无
几
。
此
处
以
S
Q
L
S
e
r
v
e
r
为
例
进
行
详
细
说
明
,
此
处
利
用
的
参
数
类
型
为
整
型
,
若
是
字
符
型
要
注
意
先
闭
合
:
1
.
获
取
列
数
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
o
r
d
e
r
+
b
y
+
数
字
&
n
a
m
e
=
8
8
8
如
果
o
r
d
e
r
b
y
子
句
不
能
使
用
或
被
过
滤
,
则
:
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
+
u
n
i
o
n
+
s
e
l
e
c
t
+
n
u
l
l
-
-
&
n
a
m
e
=
8
8
8
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
+
u
n
i
o
n
+
s
e
l
e
c
t
+
n
u
l
l
,
n
u
l
l
-
-
&
n
a
m
e
=
8
8
8
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
u
n
i
o
n
+
s
e
l
e
c
t
+
n
u
l
l
,
n
u
l
l
,
n
u
l
l
-
-
&
n
a
m
e
=
8
8
8
以
此
类
推
。
。
。
。
。
。
2
.
匹
配
数
据
类
型
及
获
取
数
据
(
假
设
为
3
列
)
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
u
n
i
o
n
+
s
e
l
e
c
t
+
t
e
s
t
(
替
代
部
分
)
,
n
u
l
l
,
n
u
l
l
-
-
&
n
a
m
e
=
8
8
8
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
u
n
i
o
n
+
s
e
l
e
c
t
+
n
u
l
l
,
t
e
s
t
(
替
代
部
分
)
,
n
u
l
l
-
-
&
n
a
m
e
=
8
8
8
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
u
n
i
o
n
+
s
e
l
e
c
t
+
n
u
l
l
,
n
u
l
l
,
t
e
s
t
(
替
代
部
分
)
-
-
&
n
a
m
e
=
8
8
8
补
充
:
可
以
使
用
连
接
符
(
+
)
在
单
个
位
置
显
示
多
组
数
据
,
例
如
h
t
t
p
:
/
/
w
w
w
.
x
x
x
x
.
c
o
m
/
t
e
s
t
.
p
h
p
?
i
d
=
2
+
a
n
d
+
1
=
2
u
n
i
o
n
+
s
e
l
e
c
t
+
n
u
l
l
,
n
u
l
l
,
t
e
s
t
1
+
‘
|
’
t
e
s
t
2
(
替
代
部
分
)
-
-
&
n
a
m
e
=
8
8
8
h
t
t
p
:
/
/
c
h
a
n
g
a
n
c
x
2
0
.
a
c
t
.
q
q
.
c
o
m
/
c
/
s
e
a
r
c
h
o
n
e
?
s
e
a
r
c
h
=
1
3
2
9
5
1
7
1
0
3
a
n
d
1
=
2
u
n
i
o
n
s
e
l
e
c
t
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
1
,
l
o
a
d
_
f
i
l
e
(
0
x
2
F
6
5
7
4
6
3
2
F
6
D
7
9
2
E
6
3
6
E
6
6
)
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
1
,
2
,
3
—
查
看
一
个
查
看
一
个
P
H
P
文
件
里
完
全
显
示
代
码
文
件
里
完
全
显
示
代
码
报
错
注
入
枚
举
数
据
库
信
息
使
用
报
错
注
入
方
式
的
场
景
及
原
理
使
用
报
错
注
入
方
式
的
场
景
及
原
理
在
前
端
页
面
不
显
示
原
始
查
询
的
数
据
,
但
网
站
应
用
程
序
未
处
理
数
据
库
错
误
信
息
,
直
接
将
数
据
库
错
误
信
息
显
示
在
前
端
页
面
时
,
可
以
考
虑
使
用
报
错
注
入
方
式
枚
举
数
据
库
的
信
息
。
在
利
用
报
错
方
式
判
断
数
据
库
类
型
时
,
我
们
只
需
成
功
让
数
据
库
报
错
并
在
前
端
页
面
显
示
错
误
信
息
(
无
论
错
误
信
息
是
什
么
)
就
可
以
根
据
错
误
信
息
的
显
著
标
志
判
断
数
据
库
的
类
型
。
而
利
用
报
错
注
入
枚
举
数
据
库
信
息
则
是
将
数
据
库
函
数
或
表
名
或
常
量
代
入
会
报
错
的
S
Q
L
语
句
中
,
当
数
据
库
解
析
会
报
错
的
S
Q
L
语
句
时
,
会
先
将
代
入
的
变
量
进
行
赋
值
,
然
后
运
行
报
错
。
被
赋
值
后
的
变
量
会
随
着
报
错
信
息
显
示
在
前
端
页
面
,
成
功
的
枚
举
出
数
据
库
信
息
。
报
错
注
入
枚
举
数
据
库
信
息
的
关
键
点
报
错
注
入
枚
举
数
据
库
信
息
的
关
键
点
使
用
报
错
注
入
方
式
枚
举
数
据
库
信
息
的
关
键
在
于
如
何
构
造
一
个
会
报
错
的
S
Q
L
语
句
,
且
报
错
信
息
中
含
有
被
赋
值
后
的
变
量
。
事
实
上
,
这
一
项
是
研
究
人
员
的
工
作
。
目
前
我
们
只
能
先
学
会
前
人
的
思
路
。
构
造
满
足
报
错
注
入
关
键
点
的
构
造
满
足
报
错
注
入
关
键
点
的
S
Q
L
语
句
语
句
根
据
前
人
的
研
究
,
既
会
产
生
报
错
信
息
又
会
解
析
变
量
并
显
示
在
报
错
信
息
中
的
报
错
方
式
是
产
生
在
强
制
类
型
转
换
的
时
候
(
应
该
不
止
这
一
种
,
目
前
我
只
懂
这
一
种
)
。
详
细
见
下
表
:
数
据
库
类
型
构
造
S
Q
L
语
句
示
例
S
Q
L
S
e
r
v
e
r
v
a
l
u
e
a
n
d
1
i
n
(
S
E
L
E
C
T
t
e
s
t
(
替
换
部
分
)
)
-
-
a
n
d
1
=
C
O
N
V
E
R
T
(
I
N
T
,
(
S
E
L
E
C
T
t
e
s
t
(
替
换
部
分
)
)
)
-
-
M
y
S
Q
L
v
a
l
u
e
a
n
d
(
s
e
l
e
c
t
1
f
r
o
m
(
s
e
l
e
c
t
c
o
u
n
t
(
*
)
,
c
o
n
c
a
t
(
(
s
e
l
e
c
t
t
e
s
t
(
替
换
部
分
)
)
,
f
l
o
o
r
(
r
a
n
d
(
0
)
*
2
)
)
x
f
r
o
m
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
.
t
a
b
l
e
s
g
r
o
u
p
b
y
x
)
a
)
#
O
r
a
c
l
e
v
a
l
u
e
a
n
d
1
=
(
u
t
l
_
i
n
a
d
d
r
.
g
e
t
_
h
o
s
t
_
n
a
m
e
(
(
s
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
t
e
s
t
(
替
换
部
分
)
w
h
e
r
e
r
o
w
n
u
m
=
1
)
)
)
-
-
v
a
l
u
e
a
n
d
1
=
C
T
X
S
Y
S
.
D
R
I
T
H
S
X
.
S
N
(
1
,
(
s
e
l
e
c
t
b
a
n
n
e
r
f
r
o
m
t
e
s
t
(
替
换
部
分
)
w
h
e
r
e
r
o
w
n
u
m
=
1
)
)
-
-
P
o
s
t
g
r
e
S
Q
L
v
a
l
u
e
a
n
d
1
=
C
A
S
T
(
(
S
E
L
E
C
T
t
e
s
t
(
替
换
部
分
)
)
:
:
t
e
x
t
a
s
N
U
M
R
I
C
)
-
-
基
于
盲
注
枚
举
数
据
库
信
息
使
用
盲
注
枚
举
数
据
库
信
息
的
场
景
及
原
理
使
用
盲
注
枚
举
数
据
库
信
息
的
场
景
及
原
理
当
前
端
页
面
不
显
示
原
始
查
询
的
列
且
网
站
应
用
程
序
对
数
据
库
错
误
信
息
进
行
了
处
理
,
不
显
示
在
前
端
页
面
的
时
候
,
可
以
考
虑
使
用
盲
注
枚
举
数
据
库
信
息
。
所
谓
的
盲
注
就
是
构
造
一
条
只
会
产
生
两
种
页
面
响
应
的
S
Q
L
语
句
或
者
构
造
两
条
性
质
相
同
但
会
产
生
不
同
页
面
响
应
的
S
Q
L
语
句
。
事
实
上
,
在
判
断
是
否
存
在
注
入
点
的
时
候
,
我
们
就
已
经
使
用
了
这
个
概
念
,
如
a
n
d
1
=
1
和
a
n
d
1
=
2
。
但
是
想
要
使
用
盲
注
枚
举
数
据
库
信
息
,
就
需
要
借
助
i
f
条
件
语
句
、
i
s
_
系
列
语
句
、
w
h
e
r
e
条
件
语
句
、
c
a
s
e
语
句
等
条
件
判
断
语
句
与
一
些
“
盲
注
函
数
”
配
合
使
用
达
到
目
的
。
或
者
利
用
拆
分
与
平
衡
原
理
。
条
件
判
断
语
句
的
使
用
形
式
条
件
判
断
语
句
的
使
用
形
式
由
于
考
虑
到
各
类
数
据
库
是
否
支
持
相
关
条
件
语
句
,
以
及
条
件
语
句
在
各
类
数
据
库
中
的
格
式
不
同
。
所
以
根
据
条
件
判
断
语
句
、
数
据
库
类
型
、
条
件
判
断
语
句
的
格
式
对
条
件
判
断
语
句
的
使
用
形
式
进
行
分
类
总
结
,
详
细
见
下
表
:
条
件
判
断
语
句
数
据
库
类
型
格
式
可
利
用
的
使
用
形
式
I
f
(
可
用
于
基
于
内
容
、
基
于
错
误
、
基
于
时
间
的
盲
注
)
S
Q
L
S
e
r
v
e
r
I
f
(
条
件
)
s
e
l
e
c
t
A
[
e
l
s
e
s
e
l
e
c
t
B
]
(
注
:
[
]
内
代
表
可
选
)
I
f
(
条
件
可
替
代
部
分
)
s
e
l
e
c
t
1
/
时
间
延
迟
函
数
/
引
发
错
误
的
表
达
式
[
e
l
s
e
0
]
(
说
明
:
基
于
内
容
/
错
误
/
时
间
。
将
要
进
行
判
断
的
变
量
代
入
’
可
替
代
部
分
’
,
若
执
行
了
1
/
时
间
延
迟
函
数
/
引
发
错
误
语
句
,
则
说
明
条
件
成
立
)
M
y
S
Q
L
I
f
(
条
件
,
A
,
B
)
(
说
明
:
条
件
成
立
则
执
行
A
,
否
则
执
行
B
)
I
f
(
作
为
可
替
代
部
分
,
1
/
时
间
延
迟
函
数
/
引
发
错
误
的
表
达
式
,
0
)
(
说
明
:
基
于
内
容
/
错
误
/
时
间
。
将
要
进
行
判
断
的
变
量
代
入
’
可
替
代
部
分
’
,
若
执
行
了
1
/
时
间
延
迟
函
数
/
引
发
错
误
语
句
,
则
说
明
条
件
成
立
)
O
r
a
c
l
e
I
f
语
句
配
合
存
储
过
程
使
用
,
不
可
利
用
w
h
e
r
e
(
该
语
法
存
在
于
所
有
的
数
据
库
中
,
且
用
法
相
同
,
是
一
种
通
用
方
法
。
可
用
于
基
于
内
容
、
基
于
错
误
、
基
于
时
间
的
盲
注
)
所
有
数
据
库
s
e
l
e
c
t
X
f
r
o
m
Y
w
h
e
r
e
C
s
e
l
e
c
t
引
发
错
误
的
表
达
式
/
时
间
延
迟
函
数
f
r
o
m
Y
w
h
e
r
e
可
替
代
部
分
(
说
明
:
基
于
错
误
/
时
间
,
当
页
面
报
错
或
者
延
迟
说
明
条
件
成
立
)
s
e
l
e
c
t
1
f
r
o
m
Y
w
h
e
r
e
可
替
代
部
分
(
说
明
:
基
于
内
容
,
当
页
面
正
常
显
示
说
明
条
件
成
立
)
s
e
l
e
c
t
1
f
r
o
m
Y
w
h
e
r
e
可
替
代
部
分
o
r
引
发
错
误
的
表
达
式
/
时
间
延
迟
函
数
i
s
_
s
r
v
r
o
l
e
m
e
m
b
e
r
(
返
回
类
型
为
b
o
o
l
,
用
来
替
代
1
/
0
,
基
于
错
误
、
内
容
)
S
Q
L
s
e
r
v
e
r
i
s
_
s
r
v
r
o
l
e
m
e
m
b
e
r
(
‘
s
y
s
a
d
m
i
n
’
)
i
d
=
1
/
i
s
_
s
r
v
r
o
l
e
m
e
m
b
e
r
(
‘
s
y
s
a
d
m
i
n
’
)
—
(
说
明
:
基
于
错
误
当
用
户
为
s
a
时
返
回
正
确
,
否
则
报
错
。
)
i
d
=
1
%
2
b
i
s
_
s
r
v
r
o
l
e
m
e
m
b
e
r
(
‘
s
y
s
a
d
m
i
n
’
)
-
-
(
说
明
:
基
于
内
容
。
当
用
户
为
s
a
时
返
回
非
原
始
内
容
,
否
则
原
始
内
容
。
)
i
d
=
1
+
a
n
d
+
i
s
_
s
r
v
r
o
l
e
m
e
m
b
e
r
(
‘
s
y
s
a
d
m
i
n
’
)
-
-
(
说
明
:
基
于
内
容
,
当
用
户
为
s
a
时
返
回
原
始
内
容
,
否
则
返
回
非
原
始
内
容
)
c
a
s
e
语
句
(
可
用
于
基
于
内
容
、
基
于
错
误
、
基
于
时
间
的
盲
注
)
M
y
S
Q
L
c
a
s
e
w
h
e
n
条
件
t
h
e
n
…
e
l
s
e
…
e
n
d
C
a
s
e
w
h
e
n
作
为
可
替
代
部
分
t
h
e
n
1
/
时
间
延
迟
函
数
/
引
发
错
误
的
表
达
式
e
l
s
e
0
e
n
d
(
说
明
:
基
于
内
容
/
错
误
/
时
间
。
将
要
进
行
判
断
的
变
量
代
入
’
可
替
代
部
分
’
,
若
执
行
了
1
/
时
间
延
迟
函
数
/
引
发
错
误
语
句
,
则
说
明
条
件
成
立
)
进
行
盲
注
枚
举
信
息
的
步
骤
及
所
需
的
函
数
进
行
盲
注
枚
举
信
息
的
步
骤
及
所
需
的
函
数
盲
注
枚
举
数
据
库
信
息
以
字
符
的
速
度
逐
步
猜
解
,
所
以
需
要
一
系
列
函
数
进
行
定
位
至
一
个
字
符
。
首
先
需
要
长
度
函
数
判
断
出
所
要
枚
举
的
信
息
的
长
度
然
后
使
用
字
符
串
提
取
函
数
从
一
串
字
符
中
依
次
提
取
字
符
进
行
比
较
推
断
;
若
数
据
库
禁
止
使
用
引
号
,
则
需
要
使
用
另
一
种
写
法
代
替
字
符
串
,
绕
过
引
号
的
限
制
;
还
需
要
使
用
A
S
C
I
I
函
数
将
字
符
转
化
为
数
字
,
方
便
比
较
。
推
断
的
过
程
需
要
使
用
条
件
语
句
与
时
间
延
迟
函
数
(
基
于
错
误
/
时
间
)
S
Q
L
S
e
r
v
e
r
盲
注
函
数
盲
注
函
数
数
据
查
询
字
符
串
长
度
L
e
n
(
)
从
给
定
字
符
串
中
提
取
子
串
S
u
b
s
t
r
i
n
g
(
s
t
r
i
n
g
,
o
f
f
s
e
t
,
l
e
n
g
t
h
)
字
符
串
(
‘
A
B
C
’
)
不
带
单
引
号
的
表
达
方
式
S
e
l
e
c
t
c
h
a
r
(
0
x
4
1
)
+
c
h
a
r
(
0
x
4
2
)
+
c
h
a
r
(
0
x
4
3
)
触
发
时
间
延
迟
W
a
i
t
f
o
r
d
e
l
a
y
‘
0
:
0
:
5
’
;
I
F
语
句
I
f
(
[
条
件
]
)
s
e
l
e
c
t
‘
A
’
e
l
s
e
s
e
l
e
c
t
‘
B
’
M
y
S
Q
L
盲
注
函
数
盲
注
函
数
数
据
查
询
字
符
串
长
度
L
e
n
g
t
h
(
)
从
给
定
字
符
串
中
提
取
子
串
S
e
l
e
c
t
s
u
b
s
t
r
(
s
t
r
i
n
g
,
o
f
f
s
e
t
,
l
e
n
g
t
h
)
;
字
符
串
(
‘
A
B
C
’
)
不
带
单
引
号
的
表
达
方
式
S
e
l
e
c
t
c
h
a
r
(
6
5
,
6
6
,
6
7
)
;
触
发
时
间
延
迟
B
e
n
c
h
m
a
r
k
(
1
0
0
0
0
0
0
,
M
D
5
(
“
h
a
c
k
”
)
)
;
<
(
5
.
0
.
1
2
)
S
l
e
e
p
(
1
0
)
;
(
>
5
.
0
.
1
2
)
I
F
语
句
S
e
l
e
c
t
I
f
(
[
条
件
]
,
’
A
’
,
’
B
’
)
;
C
a
s
e
语
句
c
a
s
e
w
h
e
n
条
件
t
h
e
n
…
e
l
s
e
…
e
n
d
1
a
n
d
I
f
(
a
s
c
i
i
(
s
u
b
s
t
r
(
d
a
t
a
b
a
s
e
(
)
,
1
,
1
)
)
=
1
0
1
,
s
l
e
e
p
(
5
)
,
0
)
O
r
a
c
l
e
盲
注
函
数
盲
注
函
数
数
据
查
询
字
符
串
长
度
L
e
n
g
t
h
(
)
从
给
定
字
符
串
中
提
取
子
串
S
e
l
e
c
t
s
u
b
s
t
r
(
s
t
r
i
n
g
,
o
f
f
s
e
t
,
l
e
n
g
t
h
)
f
r
o
m
d
u
a
l
;
字
符
串
(
‘
A
B
C
’
)
不
带
单
引
号
的
表
达
方
式
S
e
l
e
c
t
c
h
r
(
6
5
)
|
|
c
h
r
(
6
6
)
+
c
h
r
(
6
7
)
f
r
o
m
d
u
a
l
;
S
e
l
e
c
t
c
o
n
c
a
t
(
c
h
r
(
6
5
)
,
c
o
n
c
a
t
(
c
h
r
(
6
6
)
,
c
h
r
(
6
7
)
)
)
f
r
o
m
d
u
a
l
;
S
e
l
e
c
t
u
p
p
e
r
(
s
e
l
e
c
t
s
u
b
s
t
r
(
b
a
n
n
e
r
,
3
,
1
)
|
|
s
u
b
s
t
r
(
b
a
n
n
e
r
,
1
2
,
1
)
|
|
s
u
b
s
t
r
(
b
a
n
n
e
r
,
4
,
1
)
f
r
o
m
v
$
v
e
r
s
i
o
n
w
h
e
r
e
r
o
w
n
u
m
=
1
)
f
r
o
m
d
u
a
l
;
触
发
时
间
延
迟
S
e
l
e
c
t
u
t
l
_
i
n
d
d
r
.
g
e
t
_
h
o
s
t
_
a
d
d
r
e
s
s
(
‘
n
o
w
h
e
r
e
9
9
9
.
z
o
m
’
)
f
r
o
m
d
u
a
l
;
-
-
触
发
可
度
量
的
时
间
延
迟
盲
注
分
类
盲
注
分
类
基
于
内
容
的
盲
注
基
于
内
容
的
盲
注
基
于
内
容
的
盲
注
是
使
用
条
件
性
语
言
与
1
/
0
配
合
使
得
网
站
只
能
执
行
1
或
0
。
所
以
我
们
先
选
定
一
个
可
用
的
条
件
判
断
语
句
(
自
己
测
试
能
否
使
用
)
,
然
后
将
变
量
代
入
“
可
替
代
部
分
”
(
见
“
条
件
判
断
语
句
的
使
用
形
式
”
中
的
表
格
)
,
根
据
响
应
内
容
判
断
结
果
。
变
量
代
入
有
两
种
情
况
,
一
是
在
数
据
库
中
有
明
确
名
称
的
、
可
预
判
的
数
据
(
如
m
y
s
q
l
中
,
当
前
用
户
名
是
否
为
r
o
o
t
)
可
以
直
接
进
行
整
条
字
符
串
的
推
理
;
二
是
无
法
预
判
的
数
据
,
则
需
要
以
字
符
为
单
位
一
个
一
个
猜
解
。
基
于
错
误
的
盲
注
基
于
错
误
的
盲
注
基
于
错
误
的
盲
注
是
使
用
条
件
性
语
言
与
会
引
发
错
误
的
表
达
式
配
合
使
得
网
站
只
能
执
行
1
或
报
错
。
构
造
S
Q
L
语
句
的
方
法
与
基
于
内
容
的
盲
注
相
同
。
基
于
时
间
的
盲
注
基
于
时
间
的
盲
注
基
于
时
间
的
盲
注
是
使
用
条
件
性
语
言
与
时
间
延
迟
函
数
配
合
使
得
网
站
只
能
执
行
1
或
时
间
延
迟
函
数
。
构
造
S
Q
L
语
句
的
方
法
与
基
于
内
容
的
盲
注
相
同
。
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页