论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
云安全
[24382] 2015-10-14_PHP编程中10个最常见的错误,你犯过几个?
文档创建者:
s7ckTeam
浏览次数:
2
最后更新:
2025-01-18
云安全
2 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2015-10-14_PHP编程中10个最常见的错误,你犯过几个?
P
H
P
编
程
中
1
0
个
最
常
见
的
错
误
,
你
犯
过
几
个
?
L
i
n
u
x
中
国
2
0
1
5
-
1
0
-
1
4
错
误
1
:
f
o
r
e
a
c
h
循
环
后
留
下
悬
挂
指
针
在
f
o
r
e
a
c
h
循
环
中
,
如
果
我
们
需
要
更
改
迭
代
的
元
素
或
是
为
了
提
高
效
率
,
运
用
引
用
是
一
个
好
办
法
:
这
里
有
个
问
题
很
多
人
会
迷
糊
。
循
环
结
束
后
,
$
v
a
l
u
e
并
未
销
毁
,
$
v
a
l
u
e
其
实
是
数
组
中
最
后
一
个
元
素
的
引
用
,
这
样
在
后
续
对
$
v
a
l
u
e
的
使
用
中
,
如
果
不
知
道
这
一
点
,
会
引
发
一
些
莫
名
奇
妙
的
错
误
:
)
看
看
下
面
这
段
代
码
:
1
.
$
a
r
r
=
a
r
r
a
y
(
1
,
2
,
3
,
4
)
;
2
.
f
o
r
e
a
c
h
(
$
a
r
r
a
s
&
$
v
a
l
u
e
)
{
3
.
$
v
a
l
u
e
=
$
v
a
l
u
e
*
2
;
4
.
}
5
.
/
/
$
a
r
r
i
s
n
o
w
a
r
r
a
y
(
2
,
4
,
6
,
8
)
1
.
$
a
r
r
a
y
=
[
1
,
2
,
3
]
;
2
.
e
c
h
o
i
m
p
l
o
d
e
(
'
,
'
,
$
a
r
r
a
y
)
,
"
n
"
;
3
.
6
.
上
面
代
码
的
运
行
结
果
如
下
:
你
猜
对
了
吗
?
为
什
么
是
这
个
结
果
呢
?
我
们
来
分
析
下
。
第
一
个
循
环
过
后
,
$
v
a
l
u
e
是
数
组
中
最
后
一
个
元
素
的
引
用
。
第
二
个
循
环
开
始
:
第
一
步
:
复
制
$
a
r
r
[
0
]
到
$
v
a
l
u
e
(
注
意
此
时
$
v
a
l
u
e
是
$
a
r
r
[
2
]
的
引
用
)
,
这
时
数
组
变
成
[
1
,
2
,
1
]
第
二
步
:
复
制
$
a
r
r
[
1
]
到
$
v
a
l
u
e
,
这
时
数
组
变
成
[
1
,
2
,
2
]
第
三
步
:
复
制
$
a
r
r
[
2
]
到
$
v
a
l
u
e
,
这
时
数
组
变
成
[
1
,
2
,
2
]
综
上
,
最
终
结
果
就
是
1
,
2
,
2
避
免
这
种
错
误
最
好
的
办
法
就
是
在
循
环
后
立
即
用
u
n
s
e
t
函
数
销
毁
变
量
:
错
误
2
:
对
i
s
s
e
t
(
)
函
数
行
为
的
错
误
理
解
对
于
i
s
s
e
t
(
)
函
数
,
变
量
不
存
在
时
会
返
回
f
a
l
s
e
,
变
量
值
为
n
u
l
l
时
也
会
返
回
f
a
l
s
e
。
这
种
行
为
很
容
易
把
人
弄
迷
糊
。
。
。
看
下
面
的
代
码
:
4
.
f
o
r
e
a
c
h
(
$
a
r
r
a
y
a
s
&
$
v
a
l
u
e
)
{
}
/
/
b
y
r
e
f
e
r
e
n
c
e
5
.
e
c
h
o
i
m
p
l
o
d
e
(
'
,
'
,
$
a
r
r
a
y
)
,
"
n
"
;
7
.
f
o
r
e
a
c
h
(
$
a
r
r
a
y
a
s
$
v
a
l
u
e
)
{
}
/
/
b
y
v
a
l
u
e
(
i
.
e
.
,
c
o
p
y
)
8
.
e
c
h
o
i
m
p
l
o
d
e
(
'
,
'
,
$
a
r
r
a
y
)
,
"
n
"
;
1
.
1
,
2
,
3
2
.
1
,
2
,
3
3
.
1
,
2
,
2
1
.
$
a
r
r
=
a
r
r
a
y
(
1
,
2
,
3
,
4
)
;
2
.
f
o
r
e
a
c
h
(
$
a
r
r
a
s
&
$
v
a
l
u
e
)
{
3
.
$
v
a
l
u
e
=
$
v
a
l
u
e
*
2
;
4
.
}
5
.
u
n
s
e
t
(
$
v
a
l
u
e
)
;
/
/
$
v
a
l
u
e
n
o
l
o
n
g
e
r
r
e
f
e
r
e
n
c
e
s
$
a
r
r
[
3
]
1
.
$
d
a
t
a
=
f
e
t
c
h
R
e
c
o
r
d
F
r
o
m
S
t
o
r
a
g
e
(
$
s
t
o
r
a
g
e
,
$
i
d
e
n
t
i
f
i
e
r
)
;
2
.
i
f
(
!
i
s
s
e
t
(
$
d
a
t
a
[
'
k
e
y
S
h
o
u
l
d
B
e
S
e
t
'
]
)
{
3
.
/
/
d
o
s
o
m
e
t
h
i
n
g
h
e
r
e
i
f
'
k
e
y
S
h
o
u
l
d
B
e
S
e
t
'
i
s
n
o
t
s
e
t
4
.
}
写
这
段
代
码
的
人
本
意
可
能
是
如
果
$
d
a
t
a
[
‘
k
e
y
S
h
o
u
l
d
B
e
S
e
t
’
]
未
设
置
,
则
执
行
对
应
逻
辑
。
但
问
题
在
于
即
使
$
d
a
t
a
[
‘
k
e
y
S
h
o
u
l
d
B
e
S
e
t
’
]
已
设
置
,
但
设
置
的
值
为
n
u
l
l
,
还
是
会
执
行
对
应
的
逻
辑
,
这
就
不
符
合
代
码
的
本
意
了
。
下
面
是
另
外
一
个
例
子
:
4
.
6
.
上
面
的
代
码
假
设
$
_
P
O
S
T
[
‘
a
c
t
i
v
e
’
]
为
真
,
那
么
$
p
o
s
t
D
a
t
a
应
该
被
设
置
,
因
此
i
s
s
e
t
(
$
p
o
s
t
D
a
t
a
)
会
返
回
t
r
u
e
。
反
之
,
上
面
代
码
假
设
i
s
s
e
t
(
$
p
o
s
t
D
a
t
a
)
返
回
f
a
l
s
e
的
唯
一
途
径
就
是
$
_
P
O
S
T
[
‘
a
c
t
i
v
e
’
]
也
返
回
f
a
l
s
e
。
真
是
这
样
吗
?
当
然
不
是
!
即
使
$
_
P
O
S
T
[
‘
a
c
t
i
v
e
’
]
返
回
t
r
u
e
,
$
p
o
s
t
D
a
t
a
也
有
可
能
被
设
置
为
n
u
l
l
,
这
时
i
s
s
e
t
(
$
p
o
s
t
D
a
t
a
)
就
会
返
回
f
a
l
s
e
。
这
就
不
符
合
代
码
的
本
意
了
。
如
果
上
面
代
码
的
本
意
仅
是
检
测
$
_
P
O
S
T
[
‘
a
c
t
i
v
e
’
]
是
否
为
真
,
下
面
这
样
实
现
会
更
好
:
4
.
6
.
判
断
一
个
变
量
是
否
真
正
被
设
置
(
区
分
未
设
置
和
设
置
值
为
n
u
l
l
)
,
a
r
r
a
y
_
k
e
y
_
e
x
i
s
t
s
(
)
函
数
或
许
更
好
。
重
构
上
面
的
第
一
个
例
子
,
如
下
:
1
.
i
f
(
$
_
P
O
S
T
[
'
a
c
t
i
v
e
'
]
)
{
2
.
$
p
o
s
t
D
a
t
a
=
e
x
t
r
a
c
t
S
o
m
e
t
h
i
n
g
(
$
_
P
O
S
T
)
;
3
.
}
5
.
/
/
.
.
.
7
.
i
f
(
!
i
s
s
e
t
(
$
p
o
s
t
D
a
t
a
)
)
{
8
.
e
c
h
o
'
p
o
s
t
n
o
t
a
c
t
i
v
e
'
;
9
.
}
1
.
i
f
(
$
_
P
O
S
T
[
'
a
c
t
i
v
e
'
]
)
{
2
.
$
p
o
s
t
D
a
t
a
=
e
x
t
r
a
c
t
S
o
m
e
t
h
i
n
g
(
$
_
P
O
S
T
)
;
3
.
}
5
.
/
/
.
.
.
7
.
i
f
(
$
_
P
O
S
T
[
'
a
c
t
i
v
e
'
]
)
{
8
.
e
c
h
o
'
p
o
s
t
n
o
t
a
c
t
i
v
e
'
;
9
.
}
另
外
,
结
合
g
e
t
_
d
e
f
i
n
e
d
_
v
a
r
s
(
)
函
数
,
我
们
可
以
更
加
可
靠
的
检
测
变
量
在
当
前
作
用
域
内
是
否
被
设
置
:
错
误
3
:
混
淆
返
回
值
和
返
回
引
用
考
虑
下
面
的
代
码
:
4
.
9
.
1
1
.
运
行
上
面
的
代
码
,
将
会
输
出
下
面
的
内
容
:
问
题
出
在
哪
呢
?
问
题
就
在
于
上
面
的
代
码
混
淆
了
返
回
值
和
返
回
引
用
。
在
P
H
P
中
,
除
非
你
显
示
的
指
定
返
回
引
用
,
否
则
对
于
数
组
P
H
P
是
值
返
回
,
也
就
是
1
.
$
d
a
t
a
=
f
e
t
c
h
R
e
c
o
r
d
F
r
o
m
S
t
o
r
a
g
e
(
$
s
t
o
r
a
g
e
,
$
i
d
e
n
t
i
f
i
e
r
)
;
2
.
i
f
(
!
a
r
r
a
y
_
k
e
y
_
e
x
i
s
t
s
(
'
k
e
y
S
h
o
u
l
d
B
e
S
e
t
'
,
$
d
a
t
a
)
)
{
3
.
/
/
d
o
t
h
i
s
i
f
'
k
e
y
S
h
o
u
l
d
B
e
S
e
t
'
i
s
n
'
t
s
e
t
4
.
}
1
.
i
f
(
a
r
r
a
y
_
k
e
y
_
e
x
i
s
t
s
(
'
v
a
r
S
h
o
u
l
d
B
e
S
e
t
'
,
g
e
t
_
d
e
f
i
n
e
d
_
v
a
r
s
(
)
)
)
{
2
.
/
/
v
a
r
i
a
b
l
e
$
v
a
r
S
h
o
u
l
d
B
e
S
e
t
e
x
i
s
t
s
i
n
c
u
r
r
e
n
t
s
c
o
p
e
3
.
}
1
.
c
l
a
s
s
C
o
n
f
i
g
2
.
{
3
.
p
r
i
v
a
t
e
$
v
a
l
u
e
s
=
[
]
;
5
.
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
e
t
V
a
l
u
e
s
(
)
{
6
.
r
e
t
u
r
n
$
t
h
i
s
-
>
v
a
l
u
e
s
;
7
.
}
8
.
}
1
0
.
$
c
o
n
f
i
g
=
n
e
w
C
o
n
f
i
g
(
)
;
1
2
.
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
=
'
t
e
s
t
'
;
1
3
.
e
c
h
o
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
;
1
.
P
H
P
N
o
t
i
c
e
:
U
n
d
e
f
i
n
e
d
i
n
d
e
x
:
t
e
s
t
i
n
/
p
a
t
h
/
t
o
/
m
y
/
s
c
r
i
p
t
.
p
h
p
o
n
l
i
n
e
2
1
数
组
的
拷
贝
。
因
此
上
面
代
码
对
返
回
数
组
赋
值
,
实
际
是
对
拷
贝
数
组
进
行
赋
值
,
非
原
数
组
赋
值
。
4
.
下
面
是
一
种
可
能
的
解
决
办
法
,
输
出
拷
贝
的
数
组
,
而
不
是
原
数
组
:
如
果
你
就
是
想
要
改
变
原
数
组
,
也
就
是
要
反
回
数
组
引
用
,
那
应
该
如
何
处
理
呢
?
办
法
就
是
显
示
指
定
返
回
引
用
即
可
:
4
.
1
0
.
1
2
.
经
过
改
造
后
,
上
面
代
码
将
会
像
你
期
望
那
样
会
输
出
t
e
s
t
。
1
.
/
/
g
e
t
V
a
l
u
e
s
(
)
r
e
t
u
r
n
s
a
C
O
P
Y
o
f
t
h
e
$
v
a
l
u
e
s
a
r
r
a
y
,
s
o
t
h
i
s
a
d
d
s
a
'
t
e
s
t
'
e
l
e
m
e
n
t
2
.
/
/
t
o
a
C
O
P
Y
o
f
t
h
e
$
v
a
l
u
e
s
a
r
r
a
y
,
b
u
t
n
o
t
t
o
t
h
e
$
v
a
l
u
e
s
a
r
r
a
y
i
t
s
e
l
f
.
3
.
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
=
'
t
e
s
t
'
;
5
.
/
/
g
e
t
V
a
l
u
e
s
(
)
a
g
a
i
n
r
e
t
u
r
n
s
A
N
O
T
H
E
R
C
O
P
Y
o
f
t
h
e
$
v
a
l
u
e
s
a
r
r
a
y
,
a
n
d
T
H
I
S
c
o
p
y
d
o
e
s
n
'
t
6
.
/
/
c
o
n
t
a
i
n
a
'
t
e
s
t
'
e
l
e
m
e
n
t
(
w
h
i
c
h
i
s
w
h
y
w
e
g
e
t
t
h
e
"
u
n
d
e
f
i
n
e
d
i
n
d
e
x
"
m
e
s
s
a
g
e
)
.
7
.
e
c
h
o
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
;
1
.
$
v
a
l
s
=
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
;
2
.
$
v
a
l
s
[
'
t
e
s
t
'
]
=
'
t
e
s
t
'
;
3
.
e
c
h
o
$
v
a
l
s
[
'
t
e
s
t
'
]
;
1
.
c
l
a
s
s
C
o
n
f
i
g
2
.
{
3
.
p
r
i
v
a
t
e
$
v
a
l
u
e
s
=
[
]
;
5
.
/
/
r
e
t
u
r
n
a
R
E
F
E
R
E
N
C
E
t
o
t
h
e
a
c
t
u
a
l
$
v
a
l
u
e
s
a
r
r
a
y
6
.
p
u
b
l
i
c
f
u
n
c
t
i
o
n
&
g
e
t
V
a
l
u
e
s
(
)
{
7
.
r
e
t
u
r
n
$
t
h
i
s
-
>
v
a
l
u
e
s
;
8
.
}
9
.
}
1
1
.
$
c
o
n
f
i
g
=
n
e
w
C
o
n
f
i
g
(
)
;
1
3
.
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
=
'
t
e
s
t
'
;
1
4
.
e
c
h
o
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
;
我
们
再
来
看
一
个
例
子
会
让
你
更
迷
糊
的
例
子
:
4
.
9
.
1
4
.
1
6
.
如
果
你
想
的
是
会
和
上
面
一
样
输
出
“
U
n
d
e
f
i
n
e
d
i
n
d
e
x
”
错
误
,
那
你
就
错
了
。
代
码
会
正
常
输
出
“
t
e
s
t
”
。
原
因
在
于
P
H
P
对
于
对
象
默
认
就
是
按
引
用
返
回
的
,
而
不
是
按
值
返
回
。
综
上
所
述
,
我
们
在
使
用
函
数
返
回
值
时
,
要
弄
清
楚
是
值
返
回
还
是
引
用
返
回
。
P
H
P
中
对
于
对
象
,
默
认
是
引
用
返
回
,
数
组
和
内
置
基
本
类
型
默
认
均
按
值
返
回
。
这
个
要
与
其
它
语
言
区
别
开
来
(
很
多
语
言
对
于
数
组
是
引
用
传
递
)
。
像
其
它
语
言
,
比
如
j
a
v
a
或
C
#
,
利
用
g
e
t
t
e
r
或
s
e
t
t
e
r
来
访
问
或
设
置
类
属
性
是
一
种
更
好
的
方
案
,
当
然
P
H
P
默
认
不
支
持
,
需
要
自
己
实
现
:
4
.
1
.
c
l
a
s
s
C
o
n
f
i
g
2
.
{
3
.
p
r
i
v
a
t
e
$
v
a
l
u
e
s
;
5
.
/
/
u
s
i
n
g
A
r
r
a
y
O
b
j
e
c
t
r
a
t
h
e
r
t
h
a
n
a
r
r
a
y
6
.
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
7
.
$
t
h
i
s
-
>
v
a
l
u
e
s
=
n
e
w
A
r
r
a
y
O
b
j
e
c
t
(
)
;
8
.
}
1
0
.
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
e
t
V
a
l
u
e
s
(
)
{
1
1
.
r
e
t
u
r
n
$
t
h
i
s
-
>
v
a
l
u
e
s
;
1
2
.
}
1
3
.
}
1
5
.
$
c
o
n
f
i
g
=
n
e
w
C
o
n
f
i
g
(
)
;
1
7
.
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
=
'
t
e
s
t
'
;
1
8
.
e
c
h
o
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
s
(
)
[
'
t
e
s
t
'
]
;
1
.
c
l
a
s
s
C
o
n
f
i
g
2
.
{
3
.
p
r
i
v
a
t
e
$
v
a
l
u
e
s
=
[
]
;
5
.
p
u
b
l
i
c
f
u
n
c
t
i
o
n
s
e
t
V
a
l
u
e
(
$
k
e
y
,
$
v
a
l
u
e
)
{
6
.
$
t
h
i
s
-
>
v
a
l
u
e
s
[
$
k
e
y
]
=
$
v
a
l
u
e
;
7
.
}
8
.
1
3
.
1
5
.
上
面
的
代
码
给
调
用
者
可
以
访
问
或
设
置
数
组
中
的
任
意
值
而
不
用
给
与
数
组
p
u
b
l
i
c
访
问
权
限
。
感
觉
怎
么
样
:
)
错
误
4
:
在
循
环
中
执
行
s
q
l
查
询
在
P
H
P
编
程
中
发
现
类
似
下
面
的
代
码
并
不
少
见
:
2
.
当
然
上
面
的
代
码
是
没
有
什
么
错
误
的
。
问
题
在
于
我
们
在
迭
代
过
程
中
$
v
a
l
u
e
R
e
p
o
s
i
t
o
r
y
-
>
f
i
n
d
B
y
V
a
l
u
e
(
)
可
能
每
次
都
执
行
了
s
q
l
查
询
:
如
果
迭
代
了
1
0
0
0
0
次
,
那
么
你
就
分
别
执
行
了
1
0
0
0
0
次
s
q
l
查
询
。
如
果
这
样
的
脚
本
在
多
线
程
程
序
中
被
调
用
,
那
很
可
能
你
的
系
统
就
挂
了
。
。
。
在
编
写
代
码
过
程
中
,
你
应
该
要
清
楚
什
么
时
候
应
该
执
行
s
q
l
查
询
,
尽
可
能
一
次
s
q
l
查
询
取
出
所
有
数
据
。
有
一
种
业
务
场
景
,
你
很
可
能
会
犯
上
述
错
误
。
假
设
一
个
表
单
提
交
了
一
系
列
值
(
假
设
为
I
D
s
)
,
然
后
为
了
取
出
所
有
I
D
对
应
的
数
据
,
代
码
将
遍
历
I
D
s
,
分
别
对
每
个
I
D
执
行
s
q
l
查
询
,
代
码
如
下
所
示
:
9
.
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
e
t
V
a
l
u
e
(
$
k
e
y
)
{
1
0
.
r
e
t
u
r
n
$
t
h
i
s
-
>
v
a
l
u
e
s
[
$
k
e
y
]
;
1
1
.
}
1
2
.
}
1
4
.
$
c
o
n
f
i
g
=
n
e
w
C
o
n
f
i
g
(
)
;
1
6
.
$
c
o
n
f
i
g
-
>
s
e
t
V
a
l
u
e
(
'
t
e
s
t
K
e
y
'
,
'
t
e
s
t
V
a
l
u
e
'
)
;
1
7
.
e
c
h
o
$
c
o
n
f
i
g
-
>
g
e
t
V
a
l
u
e
(
'
t
e
s
t
K
e
y
'
)
;
/
/
e
c
h
o
s
'
t
e
s
t
V
a
l
u
e
'
1
.
$
m
o
d
e
l
s
=
[
]
;
3
.
f
o
r
e
a
c
h
(
$
i
n
p
u
t
V
a
l
u
e
s
a
s
$
i
n
p
u
t
V
a
l
u
e
)
{
4
.
$
m
o
d
e
l
s
[
]
=
$
v
a
l
u
e
R
e
p
o
s
i
t
o
r
y
-
>
f
i
n
d
B
y
V
a
l
u
e
(
$
i
n
p
u
t
V
a
l
u
e
)
;
5
.
}
1
.
$
r
e
s
u
l
t
=
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
"
S
E
L
E
C
T
`
x
`
,
`
y
`
F
R
O
M
`
v
a
l
u
e
s
`
W
H
E
R
E
`
v
a
l
u
e
`
=
"
.
$
i
n
p
u
t
V
a
l
u
e
)
;
1
.
$
d
a
t
a
=
[
]
;
2
.
f
o
r
e
a
c
h
(
$
i
d
s
a
s
$
i
d
)
{
3
.
$
r
e
s
u
l
t
=
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
"
S
E
L
E
C
T
`
x
`
,
`
y
`
F
R
O
M
`
v
a
l
u
e
s
`
W
H
E
R
E
`
i
d
`
=
"
.
$
i
d
)
;
4
.
$
d
a
t
a
[
]
=
$
r
e
s
u
l
t
-
>
f
e
t
c
h
_
r
o
w
(
)
;
但
同
样
的
目
的
可
以
在
一
个
s
q
l
中
更
加
高
效
的
完
成
,
代
码
如
下
:
错
误
5
:
内
存
使
用
低
效
和
错
觉
一
次
s
q
l
查
询
获
取
多
条
记
录
比
每
次
查
询
获
取
一
条
记
录
效
率
肯
定
要
高
,
但
如
果
你
使
用
的
是
p
h
p
中
的
m
y
s
q
l
扩
展
,
那
么
一
次
获
取
多
条
记
录
就
很
可
能
会
导
致
内
存
溢
出
。
我
们
可
以
写
代
码
来
实
验
下
(
测
试
环
境
:
5
1
2
M
B
R
A
M
、
M
y
S
Q
L
、
p
h
p
-
c
l
i
)
:
3
.
1
1
.
4
.
$
d
a
t
a
[
]
=
$
r
e
s
u
l
t
-
>
f
e
t
c
h
_
r
o
w
(
)
;
5
.
}
1
.
$
d
a
t
a
=
[
]
;
2
.
i
f
(
c
o
u
n
t
(
$
i
d
s
)
)
{
3
.
$
r
e
s
u
l
t
=
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
"
S
E
L
E
C
T
`
x
`
,
`
y
`
F
R
O
M
`
v
a
l
u
e
s
`
W
H
E
R
E
`
i
d
`
I
N
(
"
.
i
m
p
l
o
d
e
(
'
,
'
,
$
i
d
s
)
)
;
4
.
w
h
i
l
e
(
$
r
o
w
=
$
r
e
s
u
l
t
-
>
f
e
t
c
h
_
r
o
w
(
)
)
{
5
.
$
d
a
t
a
[
]
=
$
r
o
w
;
6
.
}
7
.
}
1
.
/
/
c
o
n
n
e
c
t
t
o
m
y
s
q
l
2
.
$
c
o
n
n
e
c
t
i
o
n
=
n
e
w
m
y
s
q
l
i
(
'
l
o
c
a
l
h
o
s
t
'
,
'
u
s
e
r
n
a
m
e
'
,
'
p
a
s
s
w
o
r
d
'
,
'
d
a
t
a
b
a
s
e
'
)
;
4
.
/
/
c
r
e
a
t
e
t
a
b
l
e
o
f
4
0
0
c
o
l
u
m
n
s
5
.
$
q
u
e
r
y
=
'
C
R
E
A
T
E
T
A
B
L
E
`
t
e
s
t
`
(
`
i
d
`
I
N
T
N
O
T
N
U
L
L
P
R
I
M
A
R
Y
K
E
Y
A
U
T
O
_
I
N
C
R
E
M
E
N
T
'
;
6
.
f
o
r
(
$
c
o
l
=
0
;
$
c
o
l
<
4
0
0
;
$
c
o
l
+
+
)
{
7
.
$
q
u
e
r
y
.
=
"
,
`
c
o
l
$
c
o
l
`
C
H
A
R
(
1
0
)
N
O
T
N
U
L
L
"
;
8
.
}
9
.
$
q
u
e
r
y
.
=
'
)
;
'
;
1
0
.
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
$
q
u
e
r
y
)
;
1
2
.
/
/
w
r
i
t
e
2
m
i
l
l
i
o
n
r
o
w
s
1
3
.
f
o
r
(
$
r
o
w
=
0
;
$
r
o
w
<
2
0
0
0
0
0
0
;
$
r
o
w
+
+
)
{
1
4
.
$
q
u
e
r
y
=
"
I
N
S
E
R
T
I
N
T
O
`
t
e
s
t
`
V
A
L
U
E
S
(
$
r
o
w
"
;
1
5
.
f
o
r
(
$
c
o
l
=
0
;
$
c
o
l
<
4
0
0
;
$
c
o
l
+
+
)
{
1
6
.
$
q
u
e
r
y
.
=
'
,
'
.
m
t
_
r
a
n
d
(
1
0
0
0
0
0
0
0
0
0
,
9
9
9
9
9
9
9
9
9
9
)
;
现
在
来
看
看
资
源
消
耗
:
4
.
7
.
输
出
结
果
如
下
:
根
据
内
存
使
用
量
来
看
,
貌
似
一
切
正
常
。
为
了
更
加
确
定
,
试
着
一
次
获
取
1
0
0
0
0
0
条
记
录
,
结
果
程
序
得
到
如
下
输
出
:
这
是
怎
么
回
事
呢
?
问
题
出
在
p
h
p
的
m
y
s
q
l
模
块
的
工
作
方
式
,
m
y
s
q
l
模
块
实
际
上
就
是
l
i
b
m
y
s
q
l
c
l
i
e
n
t
的
一
个
代
理
。
在
查
询
获
取
多
条
记
录
的
同
时
,
这
些
记
录
会
直
接
保
存
在
内
存
中
。
由
于
这
块
内
存
不
属
于
p
h
p
的
内
存
模
块
所
管
理
,
所
以
我
们
调
用
m
e
m
o
r
y
_
g
e
t
_
p
e
a
k
_
u
s
a
g
e
(
)
函
数
所
获
得
的
值
并
非
真
实
使
用
内
存
值
,
于
是
便
出
现
了
上
面
的
问
题
。
我
们
可
以
使
用
m
y
s
q
l
n
d
来
代
替
m
y
s
q
l
,
m
y
s
q
l
n
d
编
译
为
p
h
p
自
身
扩
展
,
其
内
存
使
用
由
p
h
p
内
存
管
理
模
块
所
控
制
。
如
果
我
们
用
m
y
s
q
l
n
d
来
实
现
上
面
的
代
码
,
则
会
更
加
真
实
的
反
应
内
存
使
用
情
况
:
1
7
.
}
1
8
.
$
q
u
e
r
y
.
=
'
)
'
;
1
9
.
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
$
q
u
e
r
y
)
;
2
0
.
}
1
.
/
/
c
o
n
n
e
c
t
t
o
m
y
s
q
l
2
.
$
c
o
n
n
e
c
t
i
o
n
=
n
e
w
m
y
s
q
l
i
(
'
l
o
c
a
l
h
o
s
t
'
,
'
u
s
e
r
n
a
m
e
'
,
'
p
a
s
s
w
o
r
d
'
,
'
d
a
t
a
b
a
s
e
'
)
;
3
.
e
c
h
o
"
B
e
f
o
r
e
:
"
.
m
e
m
o
r
y
_
g
e
t
_
p
e
a
k
_
u
s
a
g
e
(
)
.
"
n
"
;
5
.
$
r
e
s
=
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
'
S
E
L
E
C
T
`
x
`
,
`
y
`
F
R
O
M
`
t
e
s
t
`
L
I
M
I
T
1
'
)
;
6
.
e
c
h
o
"
L
i
m
i
t
1
:
"
.
m
e
m
o
r
y
_
g
e
t
_
p
e
a
k
_
u
s
a
g
e
(
)
.
"
n
"
;
8
.
$
r
e
s
=
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
'
S
E
L
E
C
T
`
x
`
,
`
y
`
F
R
O
M
`
t
e
s
t
`
L
I
M
I
T
1
0
0
0
0
'
)
;
9
.
e
c
h
o
"
L
i
m
i
t
1
0
0
0
0
:
"
.
m
e
m
o
r
y
_
g
e
t
_
p
e
a
k
_
u
s
a
g
e
(
)
.
"
n
"
;
1
.
B
e
f
o
r
e
:
2
2
4
7
0
4
2
.
L
i
m
i
t
1
:
2
2
4
7
0
4
3
.
L
i
m
i
t
1
0
0
0
0
:
2
2
4
7
0
4
1
.
P
H
P
W
a
r
n
i
n
g
:
m
y
s
q
l
i
:
:
q
u
e
r
y
(
)
:
(
H
Y
0
0
0
/
2
0
1
3
)
:
2
.
L
o
s
t
c
o
n
n
e
c
t
i
o
n
t
o
M
y
S
Q
L
s
e
r
v
e
r
d
u
r
i
n
g
q
u
e
r
y
i
n
/
r
o
o
t
/
t
e
s
t
.
p
h
p
o
n
l
i
n
e
1
1
更
加
糟
糕
的
是
,
根
据
p
h
p
的
官
方
文
档
,
m
y
s
q
l
扩
展
存
储
查
询
数
据
使
用
的
内
存
是
m
y
s
q
l
n
d
的
两
倍
,
因
此
原
来
的
代
码
使
用
的
内
存
是
上
面
显
示
的
两
倍
左
右
。
为
了
避
免
此
类
问
题
,
可
以
考
虑
分
几
次
完
成
查
询
,
减
小
单
次
查
询
数
据
量
:
3
.
联
系
上
面
提
到
的
错
误
4
可
以
看
出
,
在
实
际
的
编
码
过
程
中
,
要
做
到
一
种
平
衡
,
才
能
既
满
足
功
能
要
求
,
又
能
保
证
性
能
。
错
误
6
:
忽
略
U
n
i
c
o
d
e
/
U
T
F
-
8
问
题
p
h
p
编
程
中
,
在
处
理
非
a
s
c
i
i
字
符
时
,
会
遇
到
一
些
问
题
,
要
很
小
心
的
去
对
待
,
要
不
然
就
会
错
误
遍
地
。
举
个
简
单
的
例
子
,
s
t
r
l
e
n
(
$
n
a
m
e
)
,
如
果
$
n
a
m
e
包
含
非
a
s
c
i
i
字
符
,
那
结
果
就
有
些
出
乎
意
料
。
在
此
给
出
一
些
建
议
,
尽
量
避
免
此
类
问
题
:
如
果
你
对
u
n
i
c
o
d
e
和
u
t
f
-
8
不
是
很
了
解
,
那
么
你
至
少
应
该
了
解
一
些
基
础
。
推
荐
阅
读
这
篇
文
章
。
最
好
使
用
m
b
_
*
函
数
来
处
理
字
符
串
,
避
免
使
用
老
的
字
符
串
处
理
函
数
。
这
里
要
确
保
P
H
P
的
“
m
u
l
t
i
b
y
t
e
”
扩
展
已
开
启
。
数
据
库
和
表
最
好
使
用
u
n
i
c
o
d
e
编
码
。
知
道
j
a
s
o
n
_
c
o
d
e
(
)
函
数
会
转
换
非
a
s
c
i
i
字
符
,
但
s
e
r
i
a
l
i
z
e
(
)
函
数
不
会
。
p
h
p
代
码
源
文
件
最
好
使
用
不
含
b
o
m
的
u
t
f
-
8
格
式
。
在
此
推
荐
一
篇
文
章
,
更
详
细
的
介
绍
了
此
类
问
题
:
U
T
F
-
8
P
r
i
m
e
r
f
o
r
P
H
P
a
n
d
M
y
S
Q
L
错
误
7
:
假
定
$
_
P
O
S
T
总
是
包
含
P
O
S
T
数
据
P
H
P
中
的
$
_
P
O
S
T
并
非
总
是
包
含
表
单
P
O
S
T
提
交
过
来
的
数
据
。
假
设
我
们
通
过
j
Q
u
e
r
y
.
a
j
a
x
(
)
方
法
向
服
务
器
发
送
了
P
O
S
T
请
求
:
1
.
B
e
f
o
r
e
:
2
3
2
0
4
8
2
.
L
i
m
i
t
1
:
3
2
4
9
5
2
3
.
L
i
m
i
t
1
0
0
0
0
:
3
2
5
7
2
9
1
2
1
.
$
t
o
t
a
l
N
u
m
b
e
r
T
o
F
e
t
c
h
=
1
0
0
0
0
;
2
.
$
p
o
r
t
i
o
n
S
i
z
e
=
1
0
0
;
4
.
f
o
r
(
$
i
=
0
;
$
i
<
=
c
e
i
l
(
$
t
o
t
a
l
N
u
m
b
e
r
T
o
F
e
t
c
h
/
$
p
o
r
t
i
o
n
S
i
z
e
)
;
$
i
+
+
)
{
5
.
$
l
i
m
i
t
F
r
o
m
=
$
p
o
r
t
i
o
n
S
i
z
e
*
$
i
;
6
.
$
r
e
s
=
$
c
o
n
n
e
c
t
i
o
n
-
>
q
u
e
r
y
(
7
.
"
S
E
L
E
C
T
`
x
`
,
`
y
`
F
R
O
M
`
t
e
s
t
`
L
I
M
I
T
$
l
i
m
i
t
F
r
o
m
,
$
p
o
r
t
i
o
n
S
i
z
e
"
)
;
8
.
}
1
.
/
/
j
s
2
.
$
.
a
j
a
x
(
{
3
.
u
r
l
:
'
h
t
t
p
:
/
/
m
y
.
s
i
t
e
/
s
o
m
e
/
p
a
t
h
'
,
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页
浏览过的版块
IOT