Ngày tải lên :
13/12/2013, 04:15
... ,
$j
++)
{
print
$j
/
do_math
(
$i
,
$j
)
.
"\n"
;
}
?>
K
ế
t
qu
ả
hi
ệ
n
ra:
-5148.25
-5271
-323.75
-4931
-7713.5
?
-4702.5
-488.5
-928.5
-1394.75
2.
2.
2.
2.
B
B
B
B
ộ
ộ
ộ
ộ
qu
qu
qu
qu
ả
ả
ả
ả
n
n
n
n
l
l
l
l
í
í
í
í
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
tu
tu
tu
tu
ỳ
ỳ
ỳ
ỳ
ch
ch
ch
ch
ỉ
ỉ
ỉ
ỉ
nh
nh
nh
nh
PHP
th
ườ
ng
hi
ể
n
th
ị
c
á
c
l
ỗ
i
th
ự
c
thi
(execution
errors)
ra
tr
ì
nh
duy
ệ
t,
ng
ă
n
b
ạ
n
xo
á
(suppress)
ho
ặ
c
b
ắ
t
(capture)
n
ó
.
Tuy
nhi
ê
n,
v
ớ
i
PHP4
b
ạ
n
đã
c
ó
th
ể
b
ắ
t
l
ỗ
i
b
ằ
ng
h
à
m
set_error_handler().
H
à
m
set_error_handler()
c
ó
th
ể
đượ
c
d
ù
ng
để
ghi
l
ạ
i
c
á
c
l
ỗ
i
x
ả
y
ra
v
ớ
i
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n.
Thay
v
ì
l
à
m
phi
ề
n
ng
ườ
i
d
ù
ng
v
ớ
i
c
á
c
th
ô
ng
b
á
o
l
ỗ
i,
b
ạ
n
c
ó
th
ể
ghi
l
ạ
i
cho
ri
ê
ng
b
ạ
n,
b
ằ
ng
c
á
ch
đặ
t
m
ộ
t
h
à
m
qu
ả
n
l
í
l
ỗ
i
tu
ỳ
ch
ỉ
nh
(a
custom
error
handling
functio
n).
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
27
27
27
27
Dormitory
204.B5
18:20
PM
April
7,
2006
1.
1.
1.
1.
M
M
M
M
ộ
ộ
ộ
ộ
t
t
t
t
th
th
th
th
í
í
í
í
d
d
d
d
ụ
ụ
ụ
ụ
m
m
m
m
ẫ
ẫ
ẫ
ẫ
u
u
u
u
v
v
v
v
ề
ề
ề
ề
đườ
đườ
đườ
đườ
ng
ng
ng
ng
l
l
l
l
ố
ố
ố
ố
i
i
i
i
5.
5.
5.
5.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
xem
xem
xem
xem
x
x
x
x
é
é
é
é
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
m
m
m
m
ã
ã
ã
ã
4.
4.
4.
4.
V
V
V
V
á
á
á
á
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
khi
khi
khi
khi
thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
k
k
k
k
ế
ế
ế
ế
3.
3.
3.
3.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
quan
quan
quan
quan
t
t
t
t
â
â
â
â
m
m
m
m
đế
đế
đế
đế
n
n
n
n
ng
ng
ng
ng
ườ
ườ
ườ
ườ
i
i
i
i
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
khi
khi
khi
khi
thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
k
k
k
k
ế
ế
ế
ế
2.
2.
2.
2.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
theo
theo
theo
theo
s
s
s
s
á
á
á
á
t
t
t
t
k
k
k
k
ế
ế
ế
ế
ho
ho
ho
ho
ạ
ạ
ạ
ạ
ch
ch
ch
ch
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
đồ
đồ
đồ
đồ
á
á
á
á
n
n
n
n
1.
1.
1.
1.
Ph
Ph
Ph
Ph
í
í
í
í
th
th
th
th
ờ
ờ
ờ
ờ
i
i
i
i
gian
gian
gian
gian
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
14
14
14
14
Dormitory
204.B5
18:20
PM
April
7,
2006
1.4.
1.4.
1.4.
1.4.
Khi
Khi
Khi
Khi
m
m
m
m
à
à
à
à
DBMS
DBMS
DBMS
DBMS
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
b
b
b
b
ạ
ạ
ạ
ạ
n
n
n
n
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
h
h
h
h
ỗ
ỗ
ỗ
ỗ
tr
tr
tr
tr
ợ
ợ
ợ
ợ
sql_num_row()
sql_num_row()
sql_num_row()
sql_num_row()
V
à
i
DBMS
c
ó
th
ể
kh
ô
ng
h
ỗ
tr
ợ
h
à
m
sql_num_row().
T
ô
i
xin
chia
s
ẻ
v
ớ
i
b
ạ
n
n
ế
u
DBMS
c
ủ
a
b
ạ
n
l
à
m
ộ
t
trong
s
ố
đó
.
B
ạ
n
s
ẽ
ph
ả
i
t
ì
m
trong
k
ế
t
qu
ả
r
ỗ
ng
b
ằ
ng
c
á
ch
l
ấ
y
d
ò
ng.
Tuy
nhi
ê
n,
trong
tr
ườ
ng
h
ợ
p
n
à
y,
n
ó
n
ê
n
d
ù
ng
m
ộ
t
bi
ế
n
boolean
nh
ư
sau:
< ?php
$timthay
=
false
;
while
(
$mautin
=
sql_fetch_array
(
$truyvan
)){
$timthay
=
true
;
}
if
(!
$timthay
){
print
"Loi!"
;
}
?>
1.5.
1.5.
1.5.
1.5.
L
L
L
L
ấ
ấ
ấ
ấ
y
y
y
y
k
k
k
k
ế
ế
ế
ế
t
t
t
t
qu
qu
qu
qu
ả
ả
ả
ả
:
:
:
:
h
h
h
h
ã
ã
ã
ã
y
y
y
y
ch
ch
ch
ch
ọ
ọ
ọ
ọ
n
n
n
n
c
c
c
c
á
á
á
á
ch
ch
ch
ch
c
c
c
c
ó
ó
ó
ó
í
í
í
í
ch
ch
ch
ch
V
ấ
n
đề
th
ứ
hai
trong
đ
o
ạ
n
m
ã
n
à
y
l
à
n
ó
d
ù
ng
sql_fetch_row()
để
l
ấ
y
t
ậ
p
k
ế
t
qu
ả
.
H
à
m
sql_fetch_row()
ch
ỉ
tr
ả
v
ề
m
ả
ng
đá
nh
ch
ỉ
s
ố
,
trong
khi
đó
sql_fetch_array()
tr
ả
v
ề
m
ả
ng
đá
nh
ch
ỉ
s
ố
v
à
m
ả
ng
d
ù
ng
chu
ỗ
i.
$mautin
=
sql_fetch_array
(
$truyvan
);
print
$mautin
[
1
];
//
Cot
thu
2
print
$mautin
[
name
];
//
Ten
cot
Ch
Ch
Ch
Ch
ú
ú
ú
ú
ý
ý
ý
ý
:
:
:
:
C
ó
nhi
ề
u
quy
ướ
c
kh
á
c
nhau
v
ề
vi
ệ
c
d
ù
ng
d
ấ
u
nh
á
y
khi
th
ê
m
m
ộ
t
đố
i
s
ố
ki
ể
u
chu
ỗ
i.
Trong
th
í
d
ụ
v
ề
t
ê
n
c
ộ
t
ở
tr
ê
n,
v
à
su
ố
t
b
à
i
vi
ế
t
n
à
y,
n
ó
s
ẽ
đượ
c
b
ỏ
.
T
ừ
quan
đ
i
ể
m
c
ủ
a
nh
à
ph
á
t
tri
ể
n,
h
à
m
n
à
o
c
ó
l
ợ
i
h
ơ
n?
M
ả
ng
d
ù
ng
chu
ỗ
i
gi
ú
p
cho
ng
ườ
i
đọ
c
hi
ể
u
đượ
c
b
ạ
n
đ
ang
l
ấ
y
c
á
i
g
ì
ch
ỉ
th
ô
ng
qua
vi
ệ
c
đọ
c
m
ã
,
nh
ư
th
í
d
ụ
đú
ng
d
ướ
i
đâ
y:
< ?php
if
(
sql_num_rows
(
$truyvan
)<=
0
)
{
print
"Mot
loi
da
xay
ra:
Khong
co
mau
tin
nao!"
;
exit;
}
while
(
$mautin
=
sql_fetch_array
(
$truyvan
))
{
print
"$mautin[name]:
$mautin[phone_number]\n<br>\n"
;
}
?>
1.6.
1.6.
1.6.
1.6.
Khi
Khi
Khi
Khi
n
n
n
n
à
à
à
à
o
o
o
o
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
n
n
n
n
ê
ê
ê
ê
n
n
n
n
đượ
đượ
đượ
đượ
c
c
c
c
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
T
ô
i
kh
ô
ng
th
ự
c
s
ự
l
à
fan
c
ủ
a
the
sql_fetch_row().
Tuy
nhi
ê
n,
c
ó
m
ộ
t
t
ì
nh
hu
ố
ng
m
à
d
ù
ng
n
ó
kh
ô
ng
gi
ả
m
kh
ả
n
ă
ng
d
ễ
đọ
c:
khi
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a
c
â
u
truy
v
ấ
n.
C
á
c
th
í
d
ụ
cho
đế
n
l
ú
c
n
à
y
đề
u
đề
c
ậ
p
đế
n
nh
ữ
ng
c
â
u
truy
v
ấ
n
đượ
c
bi
ế
t
tr
ướ
c.
Đô
i
khi
b
ạ
n
để
cho
ng
ườ
i
d
ù
ng
t
ự
đị
nh
ngh
ĩ
a
c
â
u
truy
v
ấ
n.
Tr
ườ
ng
h
ợ
p
n
à
y
b
ạ
n
s
ẽ
kh
ô
ng
bi
ế
t
c
á
c
c
ộ
t
trong
k
ế
t
qu
ả
.
Do
đó
,
d
ù
ng
h
à
m
sql_fetch_row()
k
è
m
v
ớ
i
count()
s
ẽ
x
ử
l
í
hi
ệ
u
qu
ả
c
á
c
c
ộ
t
trong
m
ộ
t
h
à
ng:
< ?php
for
(
$i
=
0
;
$i
<
count
(
$mautin
);
$i
++){
print
"Column"
.
(
$i
+
1
).
$mautin
[
$i
].
"\n<BR>\n"
;
}
?>
2.
2.
2.
2.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
sai
sai
sai
sai
SQL:
SQL:
SQL:
SQL:
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
l
l
l
l
ấ
ấ
ấ
ấ
y
y
y
y
nh
nh
nh
nh
ữ
ữ
ữ
ữ
ng
ng
ng
ng
g
g
g
g
ì
ì
ì
ì
b
b
b
b
ạ
ạ
ạ
ạ
n
n
n
n
c
c
c
c
ầ
ầ
ầ
ầ
n
n
n
n
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
7
7
7
7
Dormitory
204.B5
18:20
PM
April
7,
2006
site.lib
site.lib
site.lib
site.lib
-
ph
ầ
n
ch
ủ
Nh
ư
b
ạ
n
th
ấ
y
trong
th
í
d
ụ
tr
ê
n,
t
á
ch
bi
ệ
t
kh
á
ch
ch
ủ
l
à
m
t
ă
ng
t
í
nh
d
ễ
đọ
c
trong
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n.
M
ộ
t
l
ợ
i
í
ch
kh
á
c
l
à
m
ộ
t
khi
b
ạ
n
đã
c
ó
c
á
c
h
à
m
API
hi
ể
n
th
ị
n
ộ
i
dung,
b
ạ
n
c
ó
th
ể
để
cho
thi
ế
t
k
ế
vi
ê
n
tham
gia
thay
đổ
i
b
ố
c
ụ
c
m
à
kh
ô
ng
c
ầ
n
s
ử
a
m
ã
ch
ươ
ng
t
r
ì
nh.
1.1.
1.1.
1.1.
1.1.
L
L
L
L
ợ
ợ
ợ
ợ
i
i
i
i
í
í
í
í
ch
ch
ch
ch
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
h
h
h
h
à
à
à
à
m
m
m
m
API
API
API
API
T
ươ
ng
đố
i
s
á
ng
s
ủ
a
Nhanh,
h
ầ
u
nh
ư
kh
ô
ng
l
ã
ng
ph
í
th
ờ
i
gian
(overhead)
1.2.
1.2.
1.2.
1.2.
B
B
B
B
ấ
ấ
ấ
ấ
t
t
t
t
l
l
l
l
ợ
ợ
ợ
ợ
i
i
i
i
<
td
width
="
25%
">
<
?php
print_links
();
?
>
<
/td
>
<
td
>
<
?php
print_body
();
?
>
<
/td
>
<
/tr
>
<
/table
>
<
/body
>
<
/html
>
< ?php
$dbh
=
mysql_connect
(
"localhost"
,
"khoa"
,
"pass"
)
or
die
(
sprintf
(
"Khong
the
ket
noi
den
MySQL
[%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
@
mysql_select_db
(
"MainSite"
)
or
die
(
sprintf
(
"Khong
the
chon
CSDL![%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
$sth
=
@
mysql_query
(
"SELECT
*
FROM
site"
,
$dbh
)
or
die
(
sprintf
(
"Khong
the
thuc
hien
truy
van
[%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
$site_info
=
mysql_fetch_object
(
$sth
);
function
print_header
()
{
global
$site_info
;
print
$site_info
->
header
;
}
function
print_body
()
{
global
$site_info
;
print
nl2br
(
$site_info
->
body
);
}
function
print_links
()
{
global
$site_info
;
$links
=
explode
(
"\n"
,
$site_info
->
links
);
$names
=
explode
(
"\n"
,
$site_info
->
link_names
);
for
(
$i
=
0
;
$i
<
count
(
$links
);
$i
++)
{
print
"
\t\t\t
<a
xhref=
\"
$links
[
$i
]\"
>$names
[
$i
]
</a>
\n
<br>
\n
"
;
}
}
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
22
22
22
22
Dormitory
204.B5
18:20
PM
April
7,
2006
1.
1.
1.
1.
C
C
C
C
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ầ
ầ
ầ
ầ
n
n
n
n
bi
bi
bi
bi
ế
ế
ế
ế
t
t
t
t
C
ó
v
à
i
h
à
m
r
ấ
t
thi
ế
t
y
ế
u
để
ti
ế
t
ki
ệ
m
th
ờ
i
gian
thi
h
à
nh
ch
ươ
ng
tr
ì
nh
khi
d
ù
ng
thay
cho
bi
ể
u
th
ứ
c
ch
í
nh
quy.
D
ướ
i
đâ
y
l
à
danh
s
á
ch
c
á
c
h
à
m
thi
ế
t
y
ế
u
đó
:
strtoupper();
strtolower();
ucfirst();
strtr();
str_replace();
trim();
explode();
implode();
substr();
strcmp()
N
ế
u
b
ạ
n
thay
th
ế
c
á
c
bi
ể
u
th
ứ
c
ch
í
nh
quy
c
ủ
a
b
ạ
n
b
ằ
ng
c
á
c
h
à
m
tr
ê
n,
b
ạ
n
c
ó
th
ể
tr
ô
ng
đợ
i
m
ộ
t
s
ự
nh
ả
y
v
ọ
t
v
ề
hi
ệ
u
n
ă
ng,
đặ
c
bi
ệ
t
khi
b
ạ
n
l
à
m
vi
ệ
c
v
ớ
i
c
á
c
chu
ỗ
i
l
ớ
n.
9.
9.
9.
9.
L
L
L
L
ậ
ậ
ậ
ậ
p
p
p
p
tr
tr
tr
tr
ì
ì
ì
ì
nh
nh
nh
nh
PHP
PHP
PHP
PHP
nh
nh
nh
nh
ư
ư
ư
ư
c
c
c
c
á
á
á
á
c
c
c
c
ng
ng
ng
ng
ô
ô
ô
ô
n
n
n
n
ng
ng
ng
ng
ữ
ữ
ữ
ữ
kh
kh
kh
kh
á
á
á
á
c
c
c
c
Nhi
ề
u
ng
ườ
i
b
ắ
t
đầ
u
PHP
sau
khi
đã
thu
ầ
n
th
ụ
c
m
ộ
t
ng
ô
n
ng
ữ
kh
á
c
nh
ư
Perl,
C,
Java
hay
ASP
.
L
à
m
nh
ư
v
ậ
y,
h
ọ
c
ũ
ng
mang
theo
nh
ữ
ng
m
ô
h
ì
nh
m
à
c
ó
th
ể
kh
ô
ng
lu
ô
n
lu
ô
n
đượ
c
d
ù
ng
b
ở
i
PHP.
Kh
ô
ng
may
thay,
v
à
i
c
á
nh
â
n
trong
s
ố
h
à
y
kh
ô
ng
ch
ị
u
b
ỏ
th
ờ
i
gian
để
h
ọ
c
c
á
ch
l
ậ
p
tr
ì
nh
PHP
theo
c
á
ch
ph
ù
h
ợ
p
v
ớ
i
PHP.
Thay
v
à
o
đó
,
h
ọ
th
í
ch
PHP
ho
ạ
t
độ
ng
v
ớ
i
c
á
c
í
t
kh
á
i
ni
ệ
m
m
ớ
i
c
à
ng
t
ố
t
Khi
b
ạ
n
l
ậ
p
tr
ì
nh
PHP
nh
ư
l
à
trong
c
á
c
ng
ô
n
ng
ữ
kh
á
c,
n
ó
th
ườ
ng
d
ẫ
n
đế
n
vi
ệ
c
l
à
m
ch
ươ
ng
tr
ì
nh
ch
ậ
m
h
ơ
n
v
à
kh
ó
b
ả
o
tr
ì
m
ã
.
B
ạ
n
s
ẽ
th
ườ
ng
th
ấ
y
h
ọ
ph
ạ
m
v
à
o
m
ộ
t
trong
c
á
c
l
ỗ
i
sau:
Perl
Perl
Perl
Perl
"1
"1
"1
"1
d
d
d
d
ò
ò
ò
ò
ng"
ng"
ng"
ng"
PHP
l
à
m
ộ
t
ng
ô
n
ng
ữ
kh
ô
ng
th
ự
c
s
ự
t
ố
i
ư
u
cho
c
á
ch
ti
ế
p
c
ậ
n
1
d
ò
ng
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh
.
Thay
v
à
o
đó
,
n
ó
m
ở
r
ộ
ng
c
á
c
t
ậ
p
h
à
m
ph
ứ
c
t
ạ
p
v
à
c
á
c
bi
ể
u
th
ứ
c
ch
í
nh
quy
theo
m
ộ
t
đị
nh
d
ạ
ng
c
ó
c
ấ
p
b
ậ
c
h
ơ
n
M
M
M
M
ã
ã
ã
ã
l
l
l
l
ệ
ệ
ệ
ệ
nh
nh
nh
nh
Perl
Perl
Perl
Perl
while
(<STDIN>)
{
@_
=
split
/:/;
$quotes{shift}
=
shift;
}
print
map
{
"$_:
",
reverse
split
//,$quotes->{$_},"\n";}
keys
%quotes;
M
M
M
M
ã
ã
ã
ã
l
l
l
l
ệ
ệ
ệ
ệ
nh
nh
nh
nh
PHP)
PHP)
PHP)
PHP)
< ?php
$fp
=
@
fopen
(
&apos ;php: //stdin'
,
'r'
);
if
(!
$fp
)
{
die
(
'Cannot
open
STDIN'
);
}
while
(
$line
=
@
fgets
(
$fp
,
1024
))
{
list(
$name
,
$quote
)
=
explode
(
':'
,
$line
);
$quotes
[
$name
]
=
$quote
;
}
foreach
(
$quotes
as
$name
=>
$quote
)
{
print
"$name:
"
;
print
implode
(
"
"
,
array_reverse
(
preg_split
(
'//'
,
$quote
)));
print
"\n"
;
}
@
fclose
(
$fp
);
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
6
6
6
6
Dormitory
204.B5
18:20
PM
April
7,
2006
L
ạ
i
c
ó
m
ộ
t
s
ố
ng
ườ
i
c
ố
g
ắ
ng
vi
ế
t
l
ạ
i
c
á
c
h
à
m
PHP
th
ô
ng
d
ụ
ng
thay
v
ì
đ
i
h
ọ
c
v
ề
h
à
m
đó
trong
c
á
c
t
à
i
li
ệ
u
PHP
cung
c
ấ
p.
C
ó
í
t
nh
ấ
t
2
l
í
do
để
kh
ô
ng
n
ê
n
l
à
m
đ
i
ề
u
n
à
y.
Th
ứ
nh
ấ
t,
v
à
tr
ê
n
nh
ấ
t,
n
ó
l
à
m
cho
nh
ữ
ng
ng
ườ
i
đọ
c
(v
à
s
ử
a)
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
kh
ó
hi
ể
u
v
à
c
ả
m
th
ấ
y
c
ó
qu
á
nhi
ề
u
h
à
m
d
ư
th
ừ
a.
H
ọ
t
ự
h
ỏ
i
t
ạ
i
sao
b
ạ
n
l
ạ
i
đ
i
đị
nh
ngh
ĩ
a
h
à
m
theo
ki
ể
u
đó
,
thay
v
ì
s
ử
d
ụ
ng
c
á
c
h
à
m
đị
nh
ngh
ĩ
a
s
ẵ
n
b
ở
i
PHP.
Th
ứ
hai,
đị
nh
ngh
ĩ
a
h
à
m
nh
ư
v
ậ
y
c
ũ
ng
s
ẽ
l
à
m
ch
ậ
m
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
(m
ộ
t
c
á
ch
kh
ô
ng
c
ầ
n
thi
ế
t).
Kh
ô
ng
ch
ỉ
ph
ả
i
x
ử
l
í
nhi
ề
u
m
ã
h
ơ
n,
m
à
m
ỗ
i
l
ầ
n
g
ọ
i
h
à
m
do
b
ạ
n
đị
nh
ngh
ĩ
a,
b
ạ
n
đã
t
ố
n
th
ờ
i
gian
cho
ch
í
nh
h
à
m
đó
,
tr
ướ
c
khi
h
à
m
nguy
ê
n
thu
ỷ
đượ
c
g
ọ
i.
1.
1.
1.
1.
Tr
Tr
Tr
Tr
á
á
á
á
nh
nh
nh
nh
vi
vi
vi
vi
ế
ế
ế
ế
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ó
ó
ó
ó
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
H
ã
y
đươ
ng
đầ
u
v
ớ
i
n
ó
.
Đô
i
khi
th
ậ
t
l
à
kh
ó
để
tr
á
nh
chuy
ệ
n
n
à
y.
Tr
ướ
c
ti
ê
n,
m
ộ
t
l
ậ
p
tr
ì
nh
vi
ê
n
kh
ô
ng
th
ể
theo
k
ị
p
c
á
c
h
à
m
c
ủ
a
PHP
ngay
đượ
c.
V
à
ai
c
ó
th
ờ
i
gian
m
à
tra
c
ứ
u.
T
ạ
i
sao
kh
ô
ng
vi
ế
t
l
ạ
i
cho
kho
ẻ
?
C
á
ch
l
à
m
c
ủ
a
t
ô
i
l
à
lu
ô
n
c
ó
s
ẵ
n
m
ộ
t
t
à
i
li
ệ
u
ch
ỉ
d
ẫ
n
PHP
(
PHP
manual
)
m
ỗ
i
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh
(t
á
c
gi
ả
b
à
i
n
à
y
d
ù
ng
m
ộ
t
b
ả
n
PDF
c
ó
t
ạ
o
ch
ỉ
m
ụ
c,
ri
ê
ng
t
ô
i,
ng
ườ
i
d
ị
ch,
th
ì
d
ù
ng
m
ộ
t
t
à
i
li
ệ
u
CHM
đầ
y
đủ
th
ô
ng
tin
v
à
c
ó
c
ả
g
ó
p
ý
c
ủ
a
ng
ườ
i
s
ử
d
ụ
ng
m
à
b
ạ
n
c
ó
th
ể
l
ấ
y
ở
http://www .php. net/docs .php)
.
Sau
đó
,
m
ỗ
i
khi
đị
nh
vi
ế
t
m
ộ
t
h
à
m
m
ở
r
ộ
ng
cho
PHP,
t
ô
i
đọ
c
l
ướ
t
qua
t
à
i
li
ệ
u
để
xem
h
à
m
đó
c
ó
ch
ư
a.
Tuy
nhi
ê
n,
c
ầ
n
ch
ú
ý
l
à
,
do
b
ả
n
ch
ấ
t
m
ã
ngu
ồ
n
m
ở
c
ủ
a
PHP,
b
ạ
n
c
ó
th
ể
t
ì
m
đượ
c
c
á
c
h
à
m
do
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a
tr
ướ
c
khi
n
ó
đượ
c
th
ê
m
v
à
o
PHP
(th
í
d
ụ
nh
ư
h
à
m
t
ì
m
ph
ầ
n
t
ử
kh
á
c
nhau
gi
ữ
a
hai
m
ả
ng).
Đ
i
ề
u
n
à
y
kh
ô
ng
c
ó
ngh
ĩ
a
l
à
b
ạ
n
ph
ả
i
hi
ệ
u
ch
ỉ
nh
l
ạ
i
m
ã
(This
doesn't
necessarily
mean
that
you
should
have
to
correct
the
code.
-
don't
understand)
16.
16.
16.
16.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
t
t
t
t
á
á
á
á
ch
ch
ch
ch
bi
bi
bi
bi
ệ
ệ
ệ
ệ
t
t
t
t
ph
ph
ph
ph
ầ
ầ
ầ
ầ
n
n
n
n
server
server
server
server
v
v
v
v
à
à
à
à
client
client
client
client
V
à
i
l
ậ
p
tr
ì
nh
vi
ê
n
c
ố
k
ế
t
n
ố
i
c
ả
ch
ươ
ng
tr
ì
nh
v
ớ
i
nhau,
ngh
ĩ
a
l
à
gh
é
p
chung
m
ã
HTML
(client-side
-
ph
ầ
n
kh
á
ch)
v
ớ
i
m
ã
PHP
(server-side
-
ph
ầ
n
ch
ủ
)
v
à
o
trong
m
ộ
t
t
ậ
p
tin
l
ớ
n.
M
ặ
c
d
ù
đ
i
ề
u
n
à
y
t
ố
t
cho
c
á
c
site
nh
ỏ
,
nh
ư
ng
n
ó
c
ó
th
ể
tr
ở
th
à
nh
v
ấ
n
đề
l
ớ
n
khi
c
á
c
site
đó
tr
ở
n
ê
n
l
ớ
n
h
ơ
n
v
à
đượ
c
b
ổ
sung
th
ê
m
t
í
nh
n
ă
ng.
L
ậ
p
tr
ì
nh
theo
c
á
ch
n
à
y
l
à
m
n
ả
y
sinh
v
ấ
n
đề
kh
ó
b
ả
o
tr
ì
v
à
c
á
c
t
ậ
p
tin
tr
ở
n
ê
n
c
ồ
ng
k
ề
nh.
1.
1.
1.
1.
H
H
H
H
à
à
à
à
m
m
m
m
API
API
API
API
Khi
mu
ố
n
t
á
ch
bi
ệ
t
ph
ầ
n
kh
á
ch
-
ch
ủ
,
b
ạ
n
c
ó
v
à
i
l
ự
a
ch
ọ
n.
M
ộ
t
c
á
ch
l
à
vi
ế
t
nh
ữ
ng
h
à
m
hi
ể
n
th
ị
n
ộ
i
dung
linh
độ
ng
v
à
đặ
t
ch
ú
ng
đú
ng
ch
ỗ
trong
trang
web.
Th
í
d
ụ
d
ướ
i
đâ
y
minh
ho
ạ
đ
i
ề
u
n
à
y:
index .php
index .php
index .php
index .php
-
ph
ầ
n
kh
á
ch
return
strlen
(
$str
);
}
?>
HTML
HTML
HTML
HTML
<
?php
include_once
("site.lib");
?>
<
html
>
<
head
>
<
title
>
< ?php
print_header
();
?>
<
/title
>
<
/head
>
<
body
>
<
h1
>
<
?php
print_header
();
?
>
<
/h1
>
<
table
border
="
0
"
cellpadding="
0
"
cellspacing="
0
">
<
tr
>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
11
11
11
11
Dormitory
204.B5
18:20
PM
April
7,
2006
1.5.
1.5.
1.5.
1.5.
Th
Th
Th
Th
ó
ó
ó
ó
i
i
i
i
quen
quen
quen
quen
x
x
x
x
ấ
ấ
ấ
ấ
u
u
u
u
D
ướ
i
đâ
y
l
à
nh
ữ
ng
th
í
d
ụ
(ph
ó
ng
đạ
i)
v
ề
nh
ữ
ng
t
ê
n
bi
ế
n
t
ồ
i
$username_cua_csdl
=
'SINHVIEN'
;
$guMbi
=
'bimat'
;
//
for
the
$password
$tentruocdo_cua_giaovien
=
array
(
'Sadlon'
,
'Lane'
,
'Patterson'
,
'Perry'
,
'Sandler'
,
'Mendick'
,
'Zung'
);
foreach
(
$tentruocdo_cua_giaovien
as
$TeaChER
);
2.
2.
2.
2.
Đặ
Đặ
Đặ
Đặ
t
t
t
t
t
t
t
t
ê
ê
ê
ê
n
n
n
n
h
h
h
h
à
à
à
à
m
m
m
m
M
ọ
i
kh
á
i
ni
ệ
m
á
p
d
ụ
ng
cho
t
ê
n
bi
ế
n
c
ũ
ng
á
p
d
ụ
ng
cho
đặ
t
t
ê
n
h
à
m.
Tuy
nhi
ê
n,
ng
ữ
ph
á
p
đó
ng
vai
tr
ò
đặ
c
bi
ệ
t
trong
c
á
c
h
à
m.
C
á
c
h
à
m
PHP,
đị
nh
ngh
ĩ
a
s
ẵ
n
ho
ặ
c
do
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a,
l
à
kh
ô
ng-ph
â
n-bi
ệ
t-c
á
ch-
vi
ế
t
(not
case
sensitive)
2.1.
2.1.
2.1.
2.1.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
độ
độ
độ
độ
ng
ng
ng
ng
t
t
t
t
ừ
ừ
ừ
ừ
H
à
m
c
ủ
a
PHP
t
ươ
ng
đươ
ng
v
ớ
i
m
ộ
t
độ
ng
t
ừ
khi
n
ó
i.
T
ê
n
h
à
m,
do
đó
,
n
ê
n
đượ
c
h
ướ
ng
h
à
nh
độ
ng
(action
oriented).
N
ó
c
ũ
ng
n
ê
n
đượ
c
d
ù
ng
ở
th
ì
hi
ệ
n
t
ạ
i.
Th
í
d
ụ
,
b
ạ
n
c
ó
m
ộ
t
h
à
m
t
ạ
o
m
ộ
t
s
ố
ng
ẫ
u
nhi
ê
n
v
ớ
i
ph
â
n
b
ố
Gausse
(a
gaussian
random
number),
b
ạ
n
n
ê
n
đặ
t
t
ê
n
n
ó
l
à
generate_gaussian_rand().
Ch
ú
ý
c
á
c
s
ử
d
ụ
ng
độ
ng
t
ừ
h
à
nh
độ
ng
trong
t
ê
n
h
à
m.
N
ó
s
ẽ
đặ
t
h
à
m
v
à
o
ng
ữ
c
ả
nh
th
í
ch
h
ợ
p
< ?php
list
(
$num1
,
$num2
)
=
generate_gaussian_rand
();
list
(
$num3
,
$num4
)
=
generate_gaussian_rand
();
?>
Để
so
s
á
nh,
h
ã
y
xem
th
í
d
ụ
:
< ?php
list
(
$num1
,
$num2
)
=
gaussian_rand_generator
();
list
(
$num1
,
$num2
)
=
gaussian_rand_generator
();
?>
B
ạ
n
c
ó
th
ấ
y
s
ự
kh
á
c
bi
ệ
t?
Th
í
d
ụ
th
ứ
hai
s
ử
d
ụ
ng
danh
t
ừ
,
m
ặ
c
d
ù
v
ẫ
n
chuy
ể
n
t
ả
i
đượ
c
m
ụ
c
ti
ê
u
c
ủ
a
h
à
m,
nh
ư
ng
n
ó
ng
ă
n
ng
ườ
i
ta
đọ
c
m
ộ
t
c
á
ch
tr
ô
i
ch
ả
y.
H
ã
y
s
ử
d
ụ
ng
độ
ng
t
ừ
!
13.
13.
13.
13.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
suy
suy
suy
suy
ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
th
th
th
th
ấ
ấ
ấ
ấ
u
u
u
u
đá
đá
đá
đá
o:
o:
o:
o:
CSDL
CSDL
CSDL
CSDL
&
&
&
&
SQL
SQL
SQL
SQL
S
ố
c
á
ch
ng
ườ
i
ta
truy
c
ậ
p
c
ơ
s
ở
d
ữ
li
ệ
u
(CSDL
-
database)
v
à
l
ấ
y
k
ế
t
qu
ả
nhi
ề
u
đế
n
m
ứ
c
th
ự
c
s
ự
ng
ạ
c
nhi
ê
n.
Nh
ữ
ng
th
í
d
ụ
t
ô
i
đã
g
ặ
p
bao
g
ồ
m
nh
ữ
ng
t
ổ
h
ợ
p
l
ệ
nh
if
v
à
v
ò
ng
l
ặ
p
do ... ,
$j
++){
print
$j
/
do_math
(
$i
,
$j
)
.
"\n"
;
}
?>
1.2.
1.2.
1.2.
1.2.
Ki
Ki
Ki
Ki
ể
ể
ể
ể
m
m
m
m
tra
tra
tra
tra
k
k
k
k
ế
ế
ế
ế
t
t
t
t
qu
qu
qu
qu
ả
ả
ả
ả
l
l
l
l
ờ
ờ
ờ
ờ
i
i
i
i
g
g
g
g
ọ
ọ
ọ
ọ
i
i
i
i
h
h
h
h
ệ
ệ
ệ
ệ
th
th
th
th
ố
ố
ố
ố
ng
ng
ng
ng
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
5
5
5
5
Dormitory
204.B5
18:20
PM
April
7,
2006
T
ạ
i
sao
ph
ả
i
d
ù
ng
bi
ế
n
trung
gian?
N
ó
kh
ô
ng
c
ầ
n
thi
ế
t
R
ủ
i
thay,
c
ó
v
ẻ
nh
ư
r
ấ
t
nhi
ề
u
ng
ườ
i
kh
ó
b
ỏ
đượ
c
th
ó
i
quen
x
ấ
u
n
à
y.
Bi
ế
n
t
ạ
m
l
à
m
ch
ậ
m
th
ờ
i
gian
thi
h
à
nh
ch
ươ
ng
t
ì
nh
c
ủ
a
b
ạ
n.
T
ố
t
h
ơ
n
l
à
n
ê
n
b
ỏ
qua
đó
v
à
g
ộ
p
c
á
c
l
ờ
i
g
ọ
i
h
à
m
v
ớ
i
nhau.
Nh
ữ
ng
ng
ườ
i
d
ù
ng
bi
ế
n
t
ạ
m
th
ườ
ng
l
à
m
ch
ươ
ng
c
ủ
a
h
ọ
ch
ạ
y
ch
ậ
m
đế
n
25%.
M
ộ
t
l
í
do
kh
á
c
để
tr
á
nh
c
ó
qu
á
nhi
ề
u
bi
ế
n
t
ạ
m
l
à
v
ì
tr
ô
ng
n
ó
kh
ô
ng
đượ
c
đẹ
p
m
ắ
t.
Trong
hai
th
í
d
ụ
tr
ê
n,
th
í
d
ụ
n
à
o
s
ú
c
t
í
ch
h
ơ
n?
Th
í
d
ụ
n
à
o
l
à
m
con
m
ắ
t
d
ễ
ch
ị
u
h
ơ
n?
D
ù
ng
qu
á
nhi
ề
u
bi
ế
n
t
ạ
m
c
ó
th
ể
d
ẫ
n
đế
n
m
ã
ch
ươ
ng
tr
ì
nh
kh
ó
đọ
c
v
à
kh
ô
ng
s
ú
c
t
í
ch.
1.
1.
1.
1.
L
L
L
L
ợ
ợ
ợ
ợ
i
i
i
i
đ
đ
đ
đ
i
i
i
i
ể
ể
ể
ể
m
m
m
m
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
bi
bi
bi
bi
ế
ế
ế
ế
n
n
n
n
t
t
t
t
ạ
ạ
ạ
ạ
m
m
m
m
C
á
c
bi
ế
n
t
ạ
m
c
ó
l
ợ
i
trong
vi
ệ
c
thay
th
ế
c
á
c
h
à
m
hay
bi
ể
u
th
ứ
c
d
à
i
l
ê
th
ê
.
N
ó
c
ó
vai
tr
ò
nh
ư
b
í
danh
gi
ả
.
Đ
i
ề
u
n
à
y
đặ
c
bi
ệ
t
đú
ng
khi
b
ạ
n
d
ù
ng
m
ộ
t
h
à
m
hay
bi
ể
u
th
ứ
c
nhi
ề
u
l
ầ
n.
Xem
x
é
t
th
í
d
ụ
đâ
y,
n
ó
kh
ô
ng
d
ù
ng
nhi
ề
u
bi
ế
n
h
ơ
n
m
ứ
c
t
ố
i
thi
ể
u
N
ộ
i
dung
trong
h
à
m
implode()
d
à
i
v
à
do
đó
kh
ó
đọ
c.
D
ù
ng
m
ộ
t
ho
ặ
c
nhi
ề
u
bi
ế
n
t
ạ
m
c
ó
th
ể
gi
ú
p
ch
ú
ng
ta:
2.
2.
2.
2.
C
C
C
C
á
á
á
á
c
c
c
c
lu
lu
lu
lu
ậ
ậ
ậ
ậ
t
t
t
t
chung
chung
chung
chung
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
ng
ng
ng
ng
ó
ó
ó
ó
n
n
n
n
tay
tay
tay
tay
c
c
c
c
á
á
á
á
i
i
i
i
Khi
quy
ế
t
đị
nh
c
ó
d
ù
ng
bi
ế
n
t
ạ
m
ho
ặ
c
kh
ô
ng,
b
ạ
n
n
ê
n
suy
ngh
ĩ
v
ề
2
c
â
u
h
ỏ
i:
B
ạ
n
c
ó
d
ù
ng
bi
ế
n
đó
í
t
nh
ấ
t
hai
l
ầ
n?
T
í
nh
đọ
c
đượ
c
c
ủ
a
m
ã
c
ó
t
ă
ng
đá
ng
k
ể
kh
ô
ng?
N
ế
u
í
t
nh
ấ
t
m
ộ
t
c
â
u
tr
ả
l
ờ
i
l
à
c
ó
,
th
ì
n
ê
n
d
ù
ng
bi
ế
n
t
ạ
m.
C
ò
n
kh
ô
ng,
v
ứ
t
n
ó
đ
i
v
à
t
ổ
h
ợ
p
c
á
c
h
à
m
l
ạ
i
(n
ế
u
c
ầ
n).
17.
17.
17.
17.
Vi
Vi
Vi
Vi
ế
ế
ế
ế
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ó
ó
ó
ó
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
M
ộ
t
s
ố
n
ơ
i
ph
ổ
bi
ế
n
m
ã
ngu
ồ
n
c
á
c
script
PHP
ch
ủ
tr
ươ
ng
đổ
i
t
ê
n
c
á
c
h
à
m
s
ẵ
n
c
ó
để
t
ạ
o
s
ự
d
ễ
d
à
ng
cho
c
á
c
l
ậ
p
tr
ì
nh
vi
ê
n
chuy
ể
n
t
ừ
VB
sang.
Th
í
d
ụ
:
<?
$tmp
=
date
(
"F
d,
h:i
a"
);
/*
ie
January
3,
2:30
pm
*/
print
$tmp
;
?>
<?
print
date
(
"F
d,
h:i
a"
);
?>
//
string
reverse_characters(string
str)
//
Reverse
all
of
the
characters
in
a
string.
function
reverse_characters
(
$str
)
{
return
implode
(
""
,
array_reverse
(
preg_split
(
"//"
,
$str
)));
}
//
string
reverse_characters(string
str)
//
Reverse
all
of
the
characters
in
a
string.
function
reverse_characters
(
$str
)
{
$characters
=
preg_split
(
"//"
,
$str
);
$characters
=
array_reverse
(
$characters
);
return
implode
(
""
,
$characters
);
}
<?
function
len
(
$str
)
{
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
15
15
15
15
Dormitory
204.B5
18:20
PM
April
7,
2006
Nh
ư
l
à
v
ấ
n
đề
c
ủ
a
th
ự
c
h
à
nh,
đơ
n
gi
ả
n
l
à
s
ẽ
sai
l
ầ
m
khi
d
ù
ng
PHP
x
ử
l
í
m
ọ
i
d
ò
ng
c
ủ
a
CSDL.
T
ô
i
đã
b
ắ
t
g
ặ
p
ng
ườ
i
ta
d
ù
ng
PHP
để
ch
ạ
y
m
ộ
t
ch
ươ
ng
tr
ì
nh
t
ì
m
ki
ế
m
đơ
n
gi
ả
n
tr
ê
n
2MB
d
ữ
li
ệ
u
v
à
t
ự
h
ỏ
i
t
ạ
i
sao
c
á
i
ng
ô
n
ng
ữ
n
à
y
ch
ạ
y
l
â
u
th
ế
.
L
ấ
y
2MB
d
ữ
li
ệ
u
t
ừ
CSDL
c
ó
th
ể
l
à
m
b
ạ
n
ch
ờ
m
ã
i
m
ã
i.
Ng
ô
n
ng
ữ
truy
v
ấ
n
chu
ẩ
n
(
Standard
Standard
Standard
Standard
Query
Query
Query
Query
Language
Language
Language
Language
-
-
-
-
SQL
SQL
SQL
SQL
)
đượ
c
thi
ế
t
k
ế
đặ
c
bi
ệ
t
để
truy
v
ấ
n
v
à
l
ấ
y
d
ữ
li
ệ
u
t
ừ
c
á
c
b
ả
ng
c
ủ
a
b
ạ
n.
Ý
t
ưở
ng
l
à
d
ù
ng
n
ó
để
l
ọ
c
d
ữ
li
ệ
u
kh
ô
ng
c
ầ
n
thi
ế
t,
để
l
ạ
i
c
á
c
th
ô
ng
tin
li
ê
n
quan
cho
PHP
x
ử
l
í
.
N
ế
u
b
ạ
n
l
ấ
y
nhi
ề
u
d
ữ
li
ệ
u
h
ơ
n
c
ầ
n
thi
ế
t,
đó
l
à
d
ấ
u
hi
ệ
u
ch
ắ
c
ch
ắ
n
r
ằ
ng
m
ã
SQL
đ
ang
d
ù
ng
ch
ư
a
đượ
c
t
ố
i
ư
u
ho
á
.
2.1.
2.1.
2.1.
2.1.
M
M
M
M
ệ
ệ
ệ
ệ
nh
nh
nh
nh
đề
đề
đề
đề
WHERE
WHERE
WHERE
WHERE
M
ộ
t
th
í
d
ụ
kinh
đ
i
ể
n
v
ề
s
ự
hi
ể
u
qu
ả
c
ủ
a
SQL
li
ê
n
quan
đế
n
m
ệ
nh
đề
where.
Đ
o
ạ
n
m
ã
sau
s
ẽ
l
ấ
y
c
á
c
k
ế
t
qu
ả
v
à
in
ra
t
ê
n
v
à
m
ã
sinh
vi
ê
n
c
ủ
a
sinh
vi
ê
n
c
ó
MASV='511203008'
:
< ?php
include
(
“
includes/taptinketnoi.inc
”
)
;
$strsql
=
"SELECT
MASV,
HOTEN
FROM
SINHVIEN"
;
$truyvan
=
@
sql_query
(
$strsql
,
$ketnoi
);
if
(!
$truyvan
)
{
die
(
sprintf
(
"LOI:
[%d]:
%s"
,
sql_errno
(),
sql_error
()));
}
if
(@
sql_num_rows
(
$truyvan
)
<=
0
)
{
die
(
"Khong
ket
qua
tim
duoc
tu
CSDL!"
);
}
while
(
$mautin
=
@
sql_fetch_array
(
$truyvan
)){
if
(
$mautin
[
MASV
]
==
“
511203008
”
)
{
print
"MASV:
$mautin[MASV]\n<br>\n"
;
print
"Ho
ten:
$mautin[HOTEN]\n<br>\n"
;
break;
}
}
?>
Đ
o
ạ
n
m
ã
tr
ê
n
ch
ư
a
đượ
c
t
ố
i
ư
u:
ch
ú
ng
ta
đ
ang
d
ù
ng
PHP
để
t
ì
m
ki
ế
m
trong
to
à
n
b
ộ
CSDL!
N
ế
u
nh
ư
đ
i
ề
u
n
à
y
kh
ô
ng
quan
tr
ọ
ng
đố
i
v
ớ
i
c
á
c
CSDL
nh
ỏ
,
khi
k
í
ch
th
ướ
c
CSDL
t
ă
ng
l
ê
n
b
ạ
n
s
ẽ
c
ả
m
th
ấ
y
m
ộ
t
c
ú
đấ
m
n
ặ
ng
n
ề
v
ề
hi
ệ
u
n
ă
ng.
L
ờ
i
gi
ả
i
r
ấ
t
đơ
n
gi
ả
n:
s
ử
a
c
â
u
SQL
để
ch
ứ
a
m
ệ
nh
đề
WHERE:
$strsql
=
"SELECT
*
FROM
SINHVIEN"
;
$strsql
.=
"
WHERE
MASV='511203008'"
;
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
10
10
10
10
Dormitory
204.B5
18:20
PM
April
7,
2006
PH
Ầ
N
2
–
L
Ỗ
I
NGHI
Ê
M
TR
Ọ
NG
14.
14.
14.
14.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
tu
tu
tu
tu
â
â
â
â
n
n
n
n
th
th
th
th
ủ
ủ
ủ
ủ
c
c
c
c
á
á
á
á
c
c
c
c
quy
quy
quy
quy
ướ
ướ
ướ
ướ
c
c
c
c
đặ
đặ
đặ
đặ
t
t
t
t
t
t
t
t
ê
ê
ê
ê
n
n
n
n
M
ộ
t
trong
nh
ữ
ng
l
ỗ
i
nghi
ê
m
tr
ọ
ng
m
à
ng
ườ
i
l
ậ
p
tr
ì
nh
c
ó
th
ể
ph
ạ
m
ph
ả
i
l
à
đị
nh
ngh
ĩ
a
m
ộ
t
quy
ướ
c
đặ
t
t
ê
n
t
ồ
i.
T
ô
i
đã
ti
ế
p
qu
ả
n
nhi
ề
u
d
ự
á
n
m
à
trong
đó
t
ô
i
ph
ả
i
b
ỏ
ra
r
ấ
t
nhi
ề
u
th
ờ
i
gi
ờ
ch
ỉ
để
hi
ể
u
ch
ươ
ng
tr
ì
nh,
do
l
ậ
p
tr
ì
nh
vi
ê
n
đặ
t
t
ê
n
c
á
c
bi
ế
n
l
à
$fred
v
à
$barney
thay
cho
$email
v
à
$name.
T
ô
i
đ
ang
đề
c
ậ
p
đế
n
m
ộ
t
d
ự
á
n
m
à
ng
ườ
i
l
ậ
p
tr
ì
nh
c
ũ
đã
quy
ế
t
đị
nh
đư
a
v
à
o
to
à
n
b
ộ
ch
ươ
ng
tr
ì
nh
m
ộ
t
ki
ể
u
đặ
t
t
ê
n
k
ì
l
ạ
(a
Flinstones
naming
theme),
kh
ô
ng
ph
ả
i
t
ô
i
đù
a
đâ
u.
C
á
ch
b
ạ
n
đặ
t
t
ê
n
bi
ế
n
v
à
h
à
m
l
à
trung
t
â
m
c
ủ
a
vi
ệ
c
x
â
y
d
ự
ng
m
ộ
t
ch
ươ
ng
tr
ì
nh
d
ễ
đọ
c.
C
ó
nhi
ề
u
l
ậ
p
tr
ì
nh
vi
ê
n
ph
ạ
m
l
ỗ
i
khi
đặ
t
t
ê
n
bi
ế
n
v
à
h
à
m
m
à
n
ó
:
qu
á
d
à
i
ho
ặ
c
qu
á
ng
ắ
n
kh
ô
ng
li
ê
n
quan
đế
n
ng
ữ
c
ả
nh
kh
ô
ng
để
ý
đế
n
c
á
ch-vi
ế
t-ph
â
n-bi
ệ
t
(case
sensitivity)
ng
ă
n
c
ả
n
kh
ả
n
ă
ng
d
ễ
đọ
c
(
đặ
c
bi
ệ
t
l
à
c
á
c
h
à
m)
1.
1.
1.
1.
Đặ
Đặ
Đặ
Đặ
t
t
t
t
t
t
t
t
ê
ê
ê
ê
n
n
n
n
bi
bi
bi
bi
ế
ế
ế
ế
n
n
n
n
1.1.
1.1.
1.1.
1.1.
C
C
C
C
á
á
á
á
ch
ch
ch
ch
vi
vi
vi
vi
ế
ế
ế
ế
t
t
t
t
ph
ph
ph
ph
â
â
â
â
n
n
n
n
bi
bi
bi
bi
ệ
ệ
ệ
ệ
t
t
t
t
Trong
PHP,
t
ê
n
bi
ế
n
c
ó
c
á
ch
vi
ế
t
ph
â
n
bi
ệ
t,
ngh
ĩ
a
l
à
$user
v
à
$User
l
à
ho
à
n
to
à
n
kh
á
c
nhau.
V
à
i
ng
ườ
i
d
ù
ng
l
ợ
i
d
ụ
ng
đ
i
ể
m
n
à
y
để
đặ
t
c
á
c
bi
ê
n
c
ù
ng
t
ê
n
nh
ư
ng
kh
á
c
c
á
ch
vi
ế
t.
Đâ
y
l
à
m
ộ
t
th
ó
i
quen
t
ồ
i
t
ệ
.
C
á
ch
vi
ế
t
kh
ô
ng
bao
gi
ờ
n
ê
n
d
ù
ng
để
ph
â
n
bi
ệ
t
c
á
c
bi
ế
n
kh
á
c
nhau.
M
ỗ
i
t
ê
n
bi
ế
n,
trong
c
ù
ng
t
ầ
m
v
ự
c
(scope),
n
ê
n
c
ó
l
à
tuy
ệ
t
đố
i
duy
nh
ấ
t.
1.2.
1.2.
1.2.
1.2.
T
T
T
T
ê
ê
ê
ê
n
n
n
n
qu
qu
qu
qu
á
á
á
á
ng
ng
ng
ng
ắ
ắ
ắ
ắ
n
n
n
n
Nhi
ề
u
ng
ườ
i
s
ử
d
ụ
ng
nh
ữ
ng
ch
ữ
vi
ế
t
t
ắ
t
đầ
u
(cryptic
acronym)
b
í
ẩ
n
cho
c
á
c
bi
ế
n
c
ủ
a
h
ọ
,
để
r
ồ
i
sau
n
à
y
h
ố
i
ti
ế
c
v
ì
qu
ê
n
m
ấ
t
h
ọ
đã
mu
ố
n
á
m
ch
ỉ
đ
i
ề
u
g
ì
khi
đó
.
T
ê
n
bi
ế
n
n
ê
n
m
ô
t
ả
n
ộ
i
dung
n
ó
(s
ẽ
)
ch
ứ
a,
d
ù
ng
nguy
ê
n
t
ừ
ho
ặ
c
nh
ữ
ng
ch
ữ
vi
ế
t
t
ắ
t
c
ó
th
ể
hi
ể
u
đượ
c
.
1.3.
1.3.
1.3.
1.3.
T
T
T
T
ê
ê
ê
ê
n
n
n
n
qu
qu
qu
qu
á
á
á
á
d
d
d
d
à
à
à
à
i
i
i
i
Ở
kh
í
a
c
ạ
nh
kh
á
c,
v
à
i
ng
ườ
i
l
ạ
i
s
ử
d
ụ
ng
t
ê
n
bi
ế
n
qu
á
d
à
i.
N
ó
i
chung,
t
ê
n
bi
ế
n
kh
ô
ng
n
ê
n
d
à
i
qu
á
hai
t
ừ
.
Hai
t
ừ
c
ó
th
ể
đượ
c
t
á
ch
bi
ệ
t
b
ằ
ng
d
ấ
u
ph
â
n
c
á
ch
"_"
ho
ặ
c
l
à
vi
ế
t
hoa
ch
ữ
đầ
u
c
ủ
a
t
ừ
th
ứ
hai.
1.4.
1.4.
1.4.
1.4.
Th
Th
Th
Th
ó
ó
ó
ó
i
i
i
i
quen
quen
quen
quen
t
t
t
t
ố
ố
ố
ố
t
t
t
t
D
ướ
i
đâ
y
l
à
nh
ữ
ng
th
í
d
ụ
t
ố
t
v
ề
t
ê
n
bi
ế
n
$username
=
'phanthanhkieu'
;
$password
=
'bimat'
;
$teachers
=
array
(
'Sadlon'
,
'Lane'
,
'Patterson'
,
'Perry'
,
'Sandler'
,
'Mendick'
,
'Zung'
);
foreach
(
$teachers
as
$teacher
);
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
20
20
20
20
Dormitory
204.B5
18:20
PM
April
7,
2006
T
ạ
o
m
ộ
t
API
T
ạ
o
m
ộ
t
tr
ì
nh
t
ự
t
ê
n
Nh
ó
m
c
á
c
h
à
m
li
ê
n
quan
v
à
o
m
ộ
t
t
ậ
p
tin
1.1.
1.1.
1.1.
1.1.
T
T
T
T
ạ
ạ
ạ
ạ
o
o
o
o
m
m
m
m
ộ
ộ
ộ
ộ
t
t
t
t
API
API
API
API
Á
p
d
ụ
ng
3
l
ớ
p
cho
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n:
Th
ứ
nh
ấ
t,
c
á
c
h
à
m
th
ự
c
s
ự
th
ự
c
hi
ệ
n
c
ô
ng
vi
ệ
c
c
ủ
a
b
ạ
n
Th
ứ
hai,
m
ộ
t
h
à
m
API.
Đâ
y
l
à
h
à
m
gi
ú
p
b
ạ
n
x
â
y
d
ự
ng
c
á
c
ch
ươ
ng
tr
ì
nh
đặ
c
th
ù
Ch
ươ
ng
tr
ì
nh
MortgageRate .php
< ?php
//
The
internal
functions
are
layer
1
//
Internal
function
to
calculate
the
correct
//
interest
rate
to
be
used
given
the
amount
per
month
//
and
the
time
it
is
to
be
paid
in
function
_mort_find_interest_rate
(
$total
)
{
if
(
$total
<
30000
)
return
(
7.4
);
elseif
(
$total
>
30000
)
return
(
3.2
);
elseif
(
$total
>
50000
)
return
(
2.5
);
else
return
(
1.7
);
}
//
The
API
is
layer
2
//
double
calculate_mortgage_rate
(int
money,
int
time,
int
month
)
//
Calculate
the
mortgage
rate
given
the
//
the
total
money,
time
its
paid
over
and
//
the
intervals
function
calculate_mortgage_rate
(
$money
,
$time
,
$month
)
{
$rate
=
_mort_find_interest_rate
(
$money
)
/
100
;
$money
/=
(
$time
/
$month
);
return
(
$rate
*
$money
)
+
$money
;
}
?>
CalcMortgage .php
< ?php
//
The
actual
application
is
layer
3
//
$money,
$time
and
$period
are
submitted
//
from
a
form
include_once
'MortgageRate .php& apos;
;
$price
=
calculate_mortgage_rate
(
$money
,
$time
,
$period
);
print
"Your
$period
month
cost
is
$price"
;
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
23
23
23
23
Dormitory
204.B5
18:20
PM
April
7,
2006
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
c
c
c
c
ó
ó
ó
ó
Nhi
ề
u
l
ậ
p
tr
ì
nh
vi
ê
n
PHP
c
ó
n
ề
n
t
ả
ng
C
c
ó
v
ẻ
kh
ô
ng
nh
ậ
n
ra
r
ằ
ng
PHP
cung
c
ấ
p
nhi
ề
u
h
à
m
s
ẵ
n
c
ó
gi
ú
p
thay
th
ế
c
á
c
đ
o
ạ
n
m
ã
d
à
i.
N
ế
u
b
ạ
n
đế
n
v
ớ
i
PHP
t
ừ
C,
t
ô
i
khuy
ê
n
b
ạ
n
n
ê
n
đọ
c
qua
t
à
i
li
ệ
u
tr
ướ
c
khi
vi
ế
t
m
ộ
t
kh
ố
i
l
ệ
nh
để
xem
PHP
c
ó
s
ẵ
n
h
à
m
n
à
o
gi
ú
p
cu
ộ
c
s
ố
n
g
c
ủ
a
b
ạ
n
d
ễ
d
à
ng
h
ơ
n
kh
ô
ng.
Đổ
Đổ
Đổ
Đổ
i
i
i
i
t
t
t
t
ê
ê
ê
ê
n
n
n
n
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
PHP
PHP
PHP
PHP
đã
đã
đã
đã
c
c
c
c
ó
ó
ó
ó
T
ô
i
đã
th
ấ
y
ng
ườ
i
ta
đổ
i
t
ê
n
c
á
c
h
à
m
đã
c
ó
c
ủ
a
PHP
ch
ỉ
để
gi
ú
p
h
ọ
d
ễ
nh
ớ
h
ơ
n.
Đ
i
ề
u
n
à
y
kh
ô
ng
ch
ỉ
l
à
m
ch
ậ
m
ch
ươ
ng
tr
ì
nh,
m
à
l
à
m
cho
đ
o
ạ
n
m
ã
kh
ó
đọ
c
h
ơ
n.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
h
h
h
h
ướ
ướ
ướ
ướ
ng
ng
ng
ng
đố
đố
đố
đố
i
i
i
i
t
t
t
t
ượ
ượ
ượ
ượ
ng
ng
ng
ng
qu
qu
qu
qu
á
á
á
á
m
m
m
m
ứ
ứ
ứ
ứ
c
c
c
c
PHP
kh
ô
ng
ph
ả
i
l
à
m
ộ
t
ng
ô
n
ng
ữ
H
Đ
T,
d
ù
n
ó
cung
c
ấ
p
c
á
c
t
í
nh
n
ă
ng
H
Đ
T.
B
ạ
n
c
ầ
n
lu
ô
n
nh
ậ
n
th
ứ
c
r
ằ
ng
H
Đ
T
trong
PHP
s
ẽ
l
à
m
ch
ậ
m
đá
ng
k
ể
ch
ươ
ng
tr
ì
nh.
1.
1.
1.
1.
L
L
L
L
ấ
ấ
ấ
ấ
y
y
y
y
th
th
th
th
ô
ô
ô
ô
ng
ng
ng
ng
tin
tin
tin
tin
ở
ở
ở
ở
đâ
đâ
đâ
đâ
u?
u?
u?
u?
May
m
ắ
n
l
à
c
ó
r
ấ
t
nhi
ề
u
th
ô
ng
tin
v
ề
vi
ệ
c
l
à
m
th
ế
n
à
o
để
l
ậ
p
tr
ì
nh
PHP.
V
à
i
n
ơ
i
t
ố
t
nh
ấ
t
l
à
Zend.com
b
ả
n
g
ố
c
c
ủ
a
b
à
i
vi
ế
t
n
à
y
l
à
ở
đó
Professional
PHP
m
ộ
t
trong
nh
ữ
ng
s
á
ch
to
à
n
di
ệ
n
t
ố
t
nh
ấ
t
v
ề
PHP,
t
ố
t
cho
c
ả
l
ậ
p
tr
ì
nh
vi
ê
n
v
à
kh
ô
ng-l
ậ
p
tr
ì
nh
vi
ê
n.
Web
Application
Development
with
PHP
M
ộ
t
quy
ể
n
s
á
ch
tuy
ệ
t
v
ờ
i
d
ạ
y
b
ạ
n
c
ả
c
á
ch
ph
á
t
tri
ể
n
web
l
ẫ
n
v
à
i
t
í
nh
n
ă
ng
cao
c
ấ
p
c
ủ
a
PHP.
Bao
g
ồ
m
c
á
c
t
à
i
li
ệ
u
ch
í
nh
th
ứ
c
v
ề
Zend
API.
The
PHP
Developer's
Cookbook
M
ộ
t
quy
ể
n
s
á
ch
thi
ê
n
v
ề
l
ờ
i
gi
ả
i
đá
p
cho
c
á
c
v
ấ
n
đề
g
ặ
p
ph
ả
i
trong
PHP
(do
tui
-
Sterling
Hughes
-
vi
ế
t
c
ù
ng
Andrei
Zmievski)
8.
8.
8.
8.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
nh
nh
nh
nh
ậ
ậ
ậ
ậ
n
n
n
n
th
th
th
th
ứ
ứ
ứ
ứ
c
c
c
c
đầ
đầ
đầ
đầ
y
y
y
y
đủ
đủ
đủ
đủ
v
v
v
v
ề
ề
ề
ề
b
b
b
b
ả
ả
ả
ả
o
o
o
o
m
m
m
m
ậ
ậ
ậ
ậ
t
t
t
t
Nh
ữ
ng
ng
ườ
i
d
ù
ng
kh
ô
ng
ph
ả
i
l
ú
c
n
à
o
c
ũ
ng
l
à
m
vi
ệ
c
v
ớ
i
h
ệ
th
ố
ng
c
ủ
a
ch
ú
ng
ta.
V
ớ
i
t
ư
c
á
ch
l
à
l
ậ
p
tr
ì
nh
vi
ê
n,
tr
á
ch
nhi
ệ
m
c
ủ
a
ch
ú
ng
ta
l
à
thi
ế
t
k
ế
m
ộ
t
h
ệ
th
ố
ng
an
to
à
n,
d
ễ
ch
ị
u
c
ó
th
ể
l
à
m
vi
ệ
c
đượ
c
chung
v
ớ
i
l
ỗ
i
c
ủ
a
ng
ườ
i
d
ù
ng.
Khi
thi
ế
t
k
ế
h
ệ
th
ố
ng,
b
ạ
n
ph
ả
i
đặ
t
m
ì
nh
v
à
o
v
ị
tr
í
ng
ườ
i
d
ù
ng.
Xem
x
é
t
nh
ữ
ng
ch
ỗ
h
ọ
c
ó
th
ể
g
ặ
p
l
ỗ
i
v
à
t
ì
m
ki
ế
m
nh
ữ
ng
l
ỗ
h
ổ
ng
b
ả
o
m
ậ
t
ti
ề
m
t
à
ng.
R
ồ
i
b
ạ
n
thi
ế
t
k
ế
ch
ươ
ng
tr
ì
nh
c
ó
kh
ả
n
ă
ng
s
ử
a
ch
ữ
a
l
ỗ
i
n
à
y
v
à
l
ấ
p
c
á
c
l
ỗ
h
ổ
ng
b
ả
o
m
ậ
t.
M
ộ
t
đ
i
ề
u
kh
á
c
c
ũ
ng
quan
tr
ọ
ng
l
à
:
d
ù
x
ả
y
ra
h
ư
h
ỏ
ng
hay
h
ệ
th
ố
ng
b
ị
t
ấ
n
c
ô
ng
l
à
do
l
ỗ
i
c
ủ
a
ng
ườ
i
d
ù
ng,
ch
í
nh
b
ạ
n
l
à
ng
ườ
i
ch
ị
u
tr
á
ch
nhi
ệ
m
n
ế
u
b
ạ
n
đã
vi
ế
t
ch
ươ
ng
tr
ì
nh
c
ó
nhi
ề
u
l
ỗ
i
hay
thi
ế
u
nh
ữ
ng
b
ướ
c
ki
ể
m
tra
c
ầ
n
thi
ế
t
d
ẫ
n
đế
n
h
ỏ
ng
d
ữ
li
ệ
u.
Th
í
d
ụ
,
t
ô
i
đã
th
ấ
y
nhi
ề
u
ch
ươ
ng
tr
ì
nh
kh
ô
ng
d
ù
ng
h
à
m
đã
c
ó
c
ủ
a
PHP
mail()
v
ố
n
an
to
à
n
m
à
l
ạ
i
đ
i
d
ù
ng
sendmail
th
ô
ng
qua
popen()
.
N
ó
c
ó
th
ể
d
ẫ
n
đế
n
nhi
ề
u
l
ỗ
h
ổ
ng
b
ả
o
m
ậ
t
(th
í
d
ụ
nh
ư
/etc/passwd
đượ
c
g
ử
i
đế
n
ng
ườ
i
d
ù
ng
cu
ố
i).
C
ó
v
à
i
n
ơ
i
th
ườ
ng
x
ả
y
ra
c
á
c
s
ự
c
ố
v
ề
b
ả
o
m
ậ
t,
ho
ặ
c
ti
ề
m
n
ă
ng
g
â
y
ra
h
ỏ
ng
d
ữ
li
ệ
u
r
ấ
t
l
ớ
n:
Th
ự
c
hi
ệ
n
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng.
T
ô
i
kh
ô
ng
c
ó
c
á
ch
n
à
o
di
ễ
n
t
ả
đượ
c
m
ứ
c
độ
nguy
hi
ể
m
c
ủ
a
v
ấ
n
đề
n
à
y.
Lu
ô
n
đả
m
b
ả
o
r
ằ
ng
m
ọ
i
d
ữ
li
ệ
u
ng
ườ
i
d
ù
ng
đư
a
v
à
o
l
à
an
to
à
n
tr
ướ
c
khi
chuy
ể
n
n
ó
cho
m
ộ
t
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng.
ĐỪ
ĐỪ
ĐỪ
ĐỪ
NG
NG
NG
NG
BAO
BAO
BAO
BAO
GI
GI
GI
GI
Ờ
Ờ
Ờ
Ờ
TIN
TIN
TIN
TIN
NG
NG
NG
NG
ƯỜ
ƯỜ
ƯỜ
ƯỜ
I
I
I
I
D
D
D
D
Ù
Ù
Ù
Ù
NG
NG
NG
NG
M
M
M
M
Ộ
Ộ
Ộ
Ộ
T
T
T
T
C
C
C
C
Á
Á
Á
Á
CH
CH
CH
CH
M
M
M
M
Ù
Ù
Ù
Ù
QU
QU
QU
QU
Á
Á
Á
Á
NG
NG
NG
NG
KHI
KHI
KHI
KHI
ĐƯ
ĐƯ
ĐƯ
ĐƯ
A
A
A
A
D
D
D
D
Ữ
Ữ
Ữ
Ữ
LI
LI
LI
LI
Ệ
Ệ
Ệ
Ệ
U
U
U
U
C
C
C
C
Ủ
Ủ
Ủ
Ủ
A
A
A
A
H
H
H
H
Ọ
Ọ
Ọ
Ọ
V
V
V
V
À
À
À
À
O
O
O
O
L
L
L
L
Ờ
Ờ
Ờ
Ờ
I
I
I
I
G
G
G
G
Ọ
Ọ
Ọ
Ọ
I
I
I
I
H
H
H
H
Ệ
Ệ
Ệ
Ệ
TH
TH
TH
TH
Ố
Ố
Ố
Ố
NG
NG
NG
NG
M
M
M
M
À
À
À
À
KH
KH
KH
KH
Ô
Ô
Ô
Ô
NG
NG
NG
NG
KI
KI
KI
KI
Ể
Ể
Ể
Ể
M
M
M
M
TRA
TRA
TRA
TRA
TR
TR
TR
TR
ƯỚ
ƯỚ
ƯỚ
ƯỚ
C
C
C
C
.
Khi
đă
ng
k
í
ng
ườ
i
d
ù
ng.
N
ế
u
b
ạ
n
tr
ô
ng
mong
c
ó
k
ế
t
qu
ả
ch
í
nh
x
á
c,
lu
ô
n
ki
ể
m
tra
v
à
đả
m
b
ả
o
b
ả
n
đă
ng
k
í
đượ
c
ki
ể
m
tra
nh
ữ
ng
ch
ỗ
c
ầ
n
thi
ế
t.
Tr
ướ
c
ti
ê
n,
c
ó
nhi
ề
u
c
á
ch
để
ki
ể
m
tra
m
ộ
t
đị
a
ch
ỉ
e-mail
h
ợ
p
l
ệ
.
H
ơ
n
n
ữ
a,
b
ạ
n
n
ê
n
ki
ể
m
tra
tu
ổ
i
c
ủ
a
ng
ườ
i
d
ù
ng
c
ó
n
ằ
m
trong
ph
ạ
m
vi
th
í
ch
h
ợ
p
kh
ô
ng.
V
ớ
i
m
ộ
t
s
ự
suy
r
ộ
ng,
b
ạ
n
c
ó
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
16
16
16
16
Dormitory
204.B5
18:20
PM
April
7,
2006
M
ệ
nh
đề
WHERE
cho
ph
é
p
b
ạ
n
t
ì
m
ki
ế
m
ch
ọ
n
l
ọ
c
h
ơ
n.
Gi
ớ
i
h
ạ
n
ch
ọ
n
l
ọ
c
c
ủ
a
m
ệ
nh
đề
where
ch
í
nh
l
à
m
ộ
t
h
à
m
v
ớ
i
đố
i
s
ố
c
ủ
a
n
ó
.
Trong
th
í
d
ụ
tr
ê
n
đố
i
s
ố
l
à
"
MASV='511203008'
".
B
â
y
gi
ờ
ch
ú
ng
ta
đã
ch
ọ
n
đượ
c
d
ữ
li
ệ
u
c
ầ
n
thi
ế
t,
b
ạ
n
ch
ỉ
vi
ệ
c
d
ù
ng
PHP
để
in
ra
sau
đó
:
if
(@
sql_num_rows
(
$truyvan
)
!=
1
)
{
die
(
"Khong
dung
so
mau
tin
nhan
duoc
tu
CSDL!"
);
}
$mautin
=
@
sql_fetch_array
(
$truyvan
);
print
"Ho
va
ten:
$mautin[HOTEN]\n<br>\n"
;
print
"MASV:
$mautin[MASV]\n<br>\n"
;
3.
3.
3.
3.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
PHP
PHP
PHP
PHP
s
s
s
s
ắ
ắ
ắ
ắ
p
p
p
p
x
x
x
x
ế
ế
ế
ế
p
p
p
p
k
k
k
k
ế
ế
ế
ế
t
t
t
t
qu
qu
qu
qu
ả
ả
ả
ả
Nhi
ề
u
ng
ườ
i
l
ấ
y
d
ữ
li
ệ
u
ở
t
ì
nh
tr
ạ
ng
kh
ô
ng
c
ó
th
ứ
t
ự
,
nh
ư
ng
r
ồ
i
đ
o
ạ
n
m
ã
PHP
ti
ế
p
theo
l
ạ
i
s
ắ
p
th
ứ
t
ự
ch
ú
ng.
N
ê
n
ch
ớ
r
ằ
ng
s
ắ
p
x
ế
p
b
ằ
ng
SQL
nhanh
h
ơ
n
PHP.
D
ù
ng
c
ú
ph
á
p
ORDER
BY
c
ủ
a
SQL
để
s
ắ
p
x
ế
p
thay
v
ì
h
à
m
ksort()
c
ủ
a
PHP.
Th
í
d
ụ
d
ướ
i
đâ
y
d
ù
ng
ksort()
để
s
ắ
p
x
ế
p
theo
t
ê
n:
$strsql
=
"SELECT
name,
email,
phone
FROM
some_table
"
;
$strsql
.=
"WHERE
name
IS
LIKE
'%baggins'"
;
$truyvan
=
@
sql_db_query
(
$strsql
,
"samp_db"
,
$ketnoi
);
if
(!
$truyvan
)
{
die
(
sprintf
(
"Error
[%d]:
%s"
,
sql_errno
(),
sql_error
()));
}
while
(
$mautin
=
@
sql_fetch_array
$truyvan
)){
$matches
[
$mautin
[
name
]]
=
array
(
$mautin
[
email
],
$mautin
[
phone
]);
}
ksort
(
$matches
);
Nh
ư
ng
t
ạ
i
sao
kh
ô
ng
s
ắ
p
x
ế
p
d
ữ
li
ệ
u
ngay
v
à
o
l
ú
c
n
ó
đượ
c
đị
nh
ngh
ĩ
a?
N
ó
gi
ú
p
ch
ú
ng
ta
đỡ
ph
ả
i
duy
ệ
t
qua
t
ậ
p
k
ế
t
qu
ả
l
ầ
n
th
ứ
hai.
Do
v
ậ
y,
b
ỏ
h
à
m
ksort()
ra
kh
ỏ
i
ch
ươ
ng
tr
ì
nh
tr
ê
n
v
à
thay
đ
o
ạ
n
m
ã
SQL
b
ằ
ng
đ
o
ạ
n
d
ướ
i
đâ
y,
c
ó
d
ù
ng
d
ù
ng
c
ú
ph
á
p
ORDER
BY:
$strsql
=
"SELECT
name,
email,
phone
FROM
some_table
"
;
$strsql
.=
"WHERE
name
IS
LIKE
'%baggins'
ORDER
BY
name"
;
12.
12.
12.
12.
Thi
Thi
Thi
Thi
ế
ế
ế
ế
u
u
u
u
s
s
s
s
ự
ự
ự
ự
ki
ki
ki
ki
ể
ể
ể
ể
m
m
m
m
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
T
ô
i
đã
th
ấ
y
nhi
ề
u
ch
ươ
ng
tr
ì
nh
thi
ế
u
m
ộ
t
l
ượ
ng
ki
ể
m
tra
l
ỗ
i
đầ
y
đủ
.
Nguy
ê
n
nh
â
n
ph
ầ
n
l
ớ
n
l
à
do
l
ậ
p
tr
ì
nh
vi
ê
n
kh
ô
ng
d
à
nh
th
ờ
i
gian
để
l
ê
n
m
ộ
t
k
ế
ho
ạ
ch
th
í
ch
h
ợ
p
cho
ch
ươ
ng
tr
ì
nh
c
ủ
a
m
ì
nh,
v
à
x
á
c
đị
nh
nh
ữ
ng
v
ị
tr
í
c
ó
th
ể
d
ẫ
n
đế
n
l
ỗ
i.
Ki
ể
m
tra
l
ỗ
i
kh
ô
ng
n
ê
n
th
ự
c
hi
ệ
n
sau
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh.
S
ự
thi
ế
u
s
ó
t
trong
t
ầ
m
nh
ì
n
tr
ướ
c
c
ó
th
ể
d
ẫ
n
đế
n
nh
ữ
ng
l
ỗ
i
nghi
ê
m
tr
ọ
ng,
kh
ô
ng
nh
ữ
ng
g
â
y
ra
k
ế
t
qu
ả
sai
m
à
th
ậ
m
ch
í
c
ò
n
l
à
m
h
ỏ
ng
h
ệ
th
ố
ng
(even
cause
your
system
to
crash)!
1.
1.
1.
1.
Mong
Mong
Mong
Mong
đợ
đợ
đợ
đợ
i
i
i
i
đ
đ
đ
đ
i
i
i
i
ề
ề
ề
ề
u
u
u
u
t
t
t
t
ệ
ệ
ệ
ệ
nh
nh
nh
nh
ấ
ấ
ấ
ấ
t
t
t
t
M
ọ
i
ch
ươ
ng
tr
ì
nh
đề
u
c
ó
kh
ả
n
ă
ng
h
ư
h
ỏ
ng
trong
nh
ữ
ng
t
ì
nh
hu
ố
ng
sai
.
Để
gi
ả
m
thi
ể
u
nh
ữ
ng
r
ủ
i
ro
nh
ư
th
ế
,
b
ạ
n
c
ầ
n
l
ê
n
k
ế
ho
ạ
ch
để
:
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
24
24
24
24
Dormitory
204.B5
18:20
PM
April
7,
2006
th
ể
kh
ẳ
ng
đị
nh
kh
á
ch
ắ
c
ch
ắ
n
r
ằ
ng
kh
ô
ng
c
ó
m
ộ
t
ng
ườ
i
200
tu
ổ
i
n
à
o
c
ó
kh
ả
n
ă
ng
d
ù
ng
m
á
y
vi
t
í
nh.
Khi
ch
ấ
p
nh
ậ
n
th
ẻ
t
í
n
d
ụ
ng.
M
ộ
t
s
ố
l
ậ
p
tr
ì
nh
vi
ê
n
ch
ỉ
d
ù
ng
nh
ữ
ng
thu
ậ
t
to
á
n
đơ
n
gi
ả
n
m
à
c
ó
th
ể
d
ễ
d
à
ng
b
ị
đá
nh
l
ừ
a
khi
th
ự
c
hi
ệ
n
ki
ế
m
tra
th
ẻ
t
í
n
d
ụ
ng.
Ch
ỉ
ch
ấ
p
nh
ậ
n
th
ẻ
c
ủ
a
c
á
c
c
ô
ng
ty
l
ớ
n
để
ki
ể
m
tra
t
í
nh
h
ợ
p
l
ệ
c
ủ
a
s
ố
th
ẻ
tr
ướ
c
khi
ch
ấ
p
nh
ậ
n
th
ẻ
c
ủ
a
ng
ườ
i
d
ù
ng.
ĐỪ
ĐỪ
ĐỪ
ĐỪ
NG
NG
NG
NG
BAO
BAO
BAO
BAO
GI
GI
GI
GI
Ờ
Ờ
Ờ
Ờ
TIN
TIN
TIN
TIN
T
T
T
T
ƯỞ
ƯỞ
ƯỞ
ƯỞ
NG
NG
NG
NG
M
M
M
M
Ộ
Ộ
Ộ
Ộ
T
T
T
T
THU
THU
THU
THU
Ậ
Ậ
Ậ
Ậ
T
T
T
T
TO
TO
TO
TO
Á
Á
Á
Á
N
N
N
N
1.
1.
1.
1.
B
B
B
B
ả
ả
ả
ả
o
o
o
o
m
m
m
m
ậ
ậ
ậ
ậ
t
t
t
t
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
l
l
l
l
ờ
ờ
ờ
ờ
i
i
i
i
g
g
g
g
ọ
ọ
ọ
ọ
i
i
i
i
h
h
h
h
ệ
ệ
ệ
ệ
th
th
th
th
ố
ố
ố
ố
ng
ng
ng
ng
M
ỗ
i
khi
b
ạ
n
đư
a
d
ữ
li
ệ
u
c
ủ
a
ng
ườ
i
d
ù
ng
v
à
o
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng,
b
ạ
n
c
ầ
n
t
ỉ
nh
t
á
o
ki
ể
m
tra
d
ữ
li
ệ
u
đó
.
Đả
m
b
ả
o
r
ằ
ng
kh
ô
ng
c
ó
g
ì
nguy
hi
ể
m
n
ằ
m
trong
d
ữ
li
ệ
u
đó
c
ó
th
ể
l
ừ
a
ph
ỉ
nh
h
ệ
th
ố
ng
th
ự
c
hi
ệ
n
nh
ữ
ng
l
ệ
nh
kh
ô
ng
mong
mu
ố
n.
PHP
cung
c
ấ
p
m
ộ
t
h
à
m
l
à
m
đ
i
ề
u
đó
:
EscapeShellCmd()
B
ấ
t
c
ứ
khi
n
à
o
b
ạ
n
chuy
ể
n
m
ộ
t
l
ệ
nh
c
ó
ch
ứ
a
d
ữ
li
ệ
u
nh
ạ
y
c
ả
m,
tr
ố
n
tho
á
t
d
ữ
li
ệ
u
đó
b
ằ
ng
h
à
m
EscapeShellCmd
EscapeShellCmd
EscapeShellCmd
EscapeShellCmd
():
Tr
ố
n
tho
á
t
(escaping)
d
ữ
li
ệ
u
c
ó
ngh
ĩ
a
l
à
th
ê
m
d
ấ
u
s
ổ
ng
ượ
c
(backslash
\)
tr
ướ
c
k
í
t
ự
c
ó
th
ể
l
ừ
a
ph
ì
nh
h
ệ
th
ố
ng
(ch
í
nh
x
á
c
l
à
c
á
c
k
í
t
ự
#&;?'\"|*?~<>^()[]{}$\\\x0A\xFF
).
M
M
M
M
ã
ã
ã
ã
HTML
HTML
HTML
HTML
<
html
>
<
head
>
<
title
>Name
Lookup<
/title
>
<
/head
>
<
body
>
<
h1
>Name
Lookup<
/h1
>
< ?php
if
($name)
{
system
(EscapeShellCmd
("lookup
$name"));
print
"
nn";
}
?>
<
form
action
="
<[color=blue] ?php
print
$PHP_ SELF;
?>[/color]
"
method="
GET
">
Enter
a
name
to
lookup:
<
input
type
="
text
"
name="
name
">
<
input
type
="
submit
"
value="
Lookup
Name
">
<
/form
>
<
/body
>
<
/html
>
D
ù
EscapeShellCmd()
l
à
m
ộ
t
h
à
m
t
ố
t
để
ki
ể
m
tra
l
ệ
nh,
b
ạ
n
v
ẫ
n
n
ê
n
th
ử
v
à
th
ự
c
hi
ệ
n
c
á
c
ki
ể
m
tra
đặ
c
th
ù
ph
ụ
thu
ộ
c
v
à
o
lo
ạ
i
d
ữ
li
ệ
u.
H
à
m
EscapeShellCmd()
s
ẽ
kh
ô
ng
ki
ể
m
tra
t
í
nh
đú
ng
đắ
n
c
ủ
a
d
ữ
li
ệ
u
đượ
c
đệ
tr
ì
nh,
n
ó
s
ẽ
ch
ỉ
ng
ă
n
c
ả
n
ng
ườ
i
d
ù
ng
l
à
m
c
á
c
vi
ệ
c
k
h
ô
ng
đượ
c
ph
é
p.
1.1.
1.1.
1.1.
1.1.
Đ
Đ
Đ
Đ
i
i
i
i
xa
xa
xa
xa
h
h
h
h
ơ
ơ
ơ
ơ
n
n
n
n
m
m
m
m
ộ
ộ
ộ
ộ
t
t
t
t
b
b
b
b
ướ
ướ
ướ
ướ
c
c
c
c
Nh
ư
m
ộ
t
quy
lu
ậ
t,
n
ê
n
ki
ể
m
tra
c
á
c
k
í
t
ự
đượ
c
ph
é
p
h
ơ
n
l
à
ki
ể
m
c
á
c
k
í
t
ự
kh
ô
ng
đượ
c
ph
é
p
.
Th
í
d
ụ
,
đả
m
b
ả
o
r
ằ
ng
$name
ch
ỉ
ch
ứ
a
c
á
c
k
í
t
ự
ch
ữ
v
à
s
ố
(alphanumeric
characters).
B
ằ
ng
c
á
ch
n
à
y,
r
ấ
t
kh
ó
để
khai
th
á
c
l
ỗ
h
ổ
ng
trong
h
ệ
th
ố
ng
c
ủ
a
b
ạ
n.
2.
2.
2.
2.
Ki
Ki
Ki
Ki
ể
ể
ể
ể
m
m
m
m
tra
tra
tra
tra
đị
đị
đị
đị
a
a
a
a
ch
ch
ch
ch
ỉ
ỉ
ỉ
ỉ
e-mail
e-mail
e-mail
e-mail
M
ộ
t
trong
nh
ữ
ng
h
ì
nh
th
ứ
c
ki
ể
m
tra
ph
ổ
bi
ế
n
nh
ấ
t
l
à
xem
m
ộ
t
đị
a
ch
ỉ
e-mail
c
ó
h
ợ
p
l
ệ
kh
ô
ng.
M
ấ
y
tay
m
ớ
i
v
à
o
ngh
ề
s
ẽ
ch
ỉ
d
ù
ng
c
á
c
bi
ể
u
th
ứ
c
ch
í
nh
quy
(m
à
h
ọ
l
ượ
m
đượ
c
trong
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
3
3
3
3
Dormitory
204.B5
18:20
PM
April
7,
2006
Đó
l
à
do
bi
ế
n
$fp
đặ
t
trong
d
ấ
u
nh
á
y
k
é
p
n
ê
n
đượ
c
chuy
ể
n
th
à
nh
chu
ỗ
i.
Th
ế
m
à
h
à
m
fopen()
nh
ậ
n
m
ộ
t
đị
nh
danh
t
à
i
nguy
ê
n
(resource
identifier)
trong
tham
s
ố
đầ
u
c
ủ
a
n
ó
,
ch
ứ
kh
ô
ng
nh
ậ
n
m
ộ
t
chu
ỗ
i.
Để
gi
ả
i
quy
ế
t
v
ấ
n
đề
,
b
ạ
n
ch
ỉ
đơ
n
gi
ả
n
b
ỏ
d
ấ
u
nh
á
y
k
é
p
đ
i
1.
1.
1.
1.
C
C
C
C
ó
ó
ó
ó
th
th
th
th
ể
ể
ể
ể
tr
tr
tr
tr
á
á
á
á
nh
nh
nh
nh
vi
vi
vi
vi
ệ
ệ
ệ
ệ
c
c
c
c
á
á
á
á
p
p
p
p
d
d
d
d
ụ
ụ
ụ
ụ
ng
ng
ng
ng
sai
sai
sai
sai
ng
ng
ng
ng
ữ
ữ
ữ
ữ
ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
a?
a?
a?
a?
Our
example
above
generated
an
error
statement.
But
PHP
enables
you
to
customize
your
scripts
to
fit
a
unique
scenario
or
output
requirement.
So,
it
is
at
least
theoretically
possible
to
"get
away"
with
misapplying
a
semantic.
T
ô
i
kh
ô
ng
hi
ể
u,
nh
ư
ng
d
ị
ch
t
h
ế
n
à
y
đượ
c
kh
ô
ng?
Th
í
d
ụ
tr
ê
n
c
ủ
a
ch
ú
ng
ta
t
ạ
o
ra
m
ộ
t
th
ô
ng
b
á
o
l
ỗ
i.
Nh
ư
ng
PHP
cho
ph
é
p
b
ạ
n
tu
ỳ
bi
ế
n
c
á
c
script
để
th
í
ch
h
ợ
p
v
ớ
i
m
ộ
t
k
ị
ch
b
ả
n
kh
á
c
th
ườ
ng
ho
ặ
c
v
ớ
i
c
á
c
đò
i
h
ỏ
i
c
ủ
a
th
ô
ng
tin
ra.
Do
đó
,
í
t
nh
ấ
t
tr
ê
n
l
í
thuy
ế
t,
b
ạ
n
c
ó
kh
ả
n
ă
ng
tr
á
nh
vi
ệ
c
á
p
d
ụ
ng
sai
ng
ữ
ngh
ĩ
a.
V
ậ
y,
b
ạ
n
c
ầ
n
bi
ế
t
nh
ữ
ng
h
ậ
u
qu
ả
c
ó
th
ể
c
ó
(possible
outcomes)
n
ế
u
b
ạ
n
quy
ế
t
đị
nh
h
ọ
c
v
ề
ng
ữ
ngh
ĩ
a.
Á
p
d
ụ
ng
sai
d
ẫ
n
đế
n
nh
ữ
ng
l
ỗ
i
kh
á
tinh
vi
n
ế
u
b
ạ
n
kh
ô
ng
ch
ú
ý
.
N
ế
u
b
ạ
n
mu
ố
n
tu
ỳ
bi
ế
n
script,
b
ạ
n
c
ầ
n
hi
ể
u
nh
ữ
ng
ch
ủ
đề
ch
í
nh
sau:
Ki
Ki
Ki
Ki
ể
ể
ể
ể
u:
u:
u:
u:
trong
PHP,
m
ỗ
i
bi
ế
n
c
ó
m
ộ
t
ki
ể
u
x
á
c
đị
nh
ở
m
ộ
t
th
ờ
i
đ
i
ể
m
x
á
c
đị
nh,
cho
d
ù
b
ạ
n
c
ó
th
ể
t
ự
do
chuy
ể
n
đổ
i
ki
ể
u
m
ộ
t
bi
ế
n.
N
ó
i
m
ộ
t
c
á
ch
kh
á
c,
kh
ô
ng
c
ó
bi
ế
n
n
à
o
l
ạ
i
kh
ô
ng
k
è
m
theo
t
í
nh
ch
ấ
t
c
ủ
a
ki
ể
u
c
ủ
a
n
ó
.
PHP
c
ó
7
ki
ể
u
c
ơ
b
ả
n:
boolean,
resource,
integer,
doubl
e,
string,
array
v
à
object.
T
T
T
T
ầ
ầ
ầ
ầ
m
m
m
m
v
v
v
v
ự
ự
ự
ự
c:
c:
c:
c:
trong
PHP,
m
ỗ
i
bi
ế
n
c
ó
m
ộ
t
t
ầ
m
v
ự
c
ri
ê
ng.
T
ầ
m
v
ự
c
bi
ế
n
quy
đị
nh
bi
ế
n
c
ó
th
ể
đượ
c
truy
c
ậ
p
t
ừ
đâ
u,
t
ồ
n
t
ạ
i
trong
th
ờ
i
gian
n
à
o.
Hi
ể
u
sai
kh
á
i
ni
ệ
m
c
ơ
b
ả
n
v
ề
"t
ầ
m
v
ự
c"
d
ẫ
n
đế
n
nh
ữ
ng
l
ỗ
i
sai
tinh
t
ế
v
à
c
ả
nh
ữ
ng
l
ỗ
i
l
ớ
n.
php. ini:
php. ini:
php. ini:
php. ini:
khi
vi
ế
t
m
ộ
t
script
ch
ạ
y
ở
nhi
ề
u
m
ô
i
tr
ườ
ng
kh
á
c
nhau,
c
ầ
n
bi
ế
t
r
ằ
ng
kh
ô
ng
ph
ả
i
m
ọ
i
c
ấ
u
h
ì
nh
PHP
đề
u
nh
ư
nhau.
Do
đó
,
c
ầ
n
thi
ế
t
nh
ữ
ng
l
ệ
nh
ki
ể
m
tra
để
đả
m
b
ả
o
script
c
ủ
a
b
ạ
n
ch
ạ
y
t
ố
t
trong
c
ấ
u
h
ì
nh
PHP
c
ủ
a
ng
ườ
i
kh
á
c.
19.
19.
19.
19.
Thi
Thi
Thi
Thi
ế
ế
ế
ế
u
u
u
u
ghi
ghi
ghi
ghi
ch
ch
ch
ch
ú
ú
ú
ú
Theo
ý
t
ô
i,
m
ã
ngu
ồ
n
thi
ế
u
ghi
ch
ú
l
à
c
ă
n
nguy
ê
n
c
ủ
a
s
ự
l
ậ
p
tr
ì
nh
í
ch
k
ỉ
.
N
ó
d
ẫ
n
t
ớ
i
nh
ữ
ng
hi
ệ
u
ch
ỉ
nh
sai
l
ầ
m,
hi
ể
u
sai
ý
ngh
ĩ
a
v
à
l
à
m
ng
ườ
i
đọ
c
m
ệ
t
m
ỏ
i.
N
ó
i
chung,
l
ậ
p
tr
ì
nh
ghi
ch
ú
(inline
documentation)
đượ
c
m
ọ
i
ng
ườ
i
kh
ẳ
ng
nh
ậ
n
l
à
đ
i
ề
u
t
ố
t,
nh
ư
ng
hi
ế
m
khi
n
ó
t
ồ
n
t
ạ
i.
M
ộ
t
v
ấ
n
đề
kh
á
c
l
à
qu
á
nhi
ề
u
ghi
ch
ú
.
D
ù
hi
ế
m
g
ặ
p,
nh
ư
ng
n
ó
l
à
m
cho
c
á
c
đ
o
ạ
n
m
ã
b
ị
c
ắ
t
v
ụ
n,
g
â
y
ra
s
ự
kh
ó
theo
d
õ
i.
D
ướ
i
đâ
y
l
à
m
ộ
t
th
í
d
ụ
:
<?
//
Bat
dau
ma
PHP
$age
=
18
;
//
Gan
18
den
$age
$age
++;
//
Tang
$age
len
1
don
vi
//
IN
ra
doan
text
thong
bao:
print
"You
are
now
19,
which
means
you
have
been:"
;
print
"\n<br>\n<br>\n"
;
//
Vong
lap
for
in
ra
tat
ca
tuoi
truoc
do
for
(
$idx
=
0
;
$idx
<
$age
;
$idx
++)
{
<?
$fp
=
@
fopen
(
'vanban.txt'
,
'r'
)
or
die
(
‘
Khong
the
mo
file
tailieuphp.txt'
);
while
(
$line
=
@
fgets
(
$fp
,
1024
))
{
print
$line
;
}
@
fclose
(
$fp
)
or
die
(
Khong
the
dong
file
vanban.txt
'
);
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
4
4
4
4
Dormitory
204.B5
18:20
PM
April
7,
2006
//
In
ra
tuoi
ca
nhan
print
"$idx
years
old
\n
<br>
\n
"
;
}
/
/
Ket
thuc
ma
PHP
?
>
1.
1.
1.
1.
Bao
Bao
Bao
Bao
nhi
nhi
nhi
nhi
ê
ê
ê
ê
u
u
u
u
ghi
ghi
ghi
ghi
ch
ch
ch
ch
ú
ú
ú
ú
th
th
th
th
ì
ì
ì
ì
đủ
đủ
đủ
đủ
?
?
?
?
Nhi
ế
u
đế
n
m
ứ
c
n
à
o,
đ
i
ề
u
đó
tu
ỳ
thu
ộ
c
ng
â
n
s
á
ch
c
ủ
a
b
ạ
n,
v
à
o
ch
í
nh
s
á
ch
c
ủ
a
c
ô
ng
ty
v
à
v
à
o
độ
ph
ứ
c
t
ạ
p
c
ủ
a
ch
ươ
ng
tr
ì
nh.
Tuy
nhi
ê
n,
c
ũ
ng
c
ó
m
ộ
t
v
à
i
g
ợ
i
ý
cho
b
ạ
n
Lu
ô
n
c
ó
m
ộ
t
m
ô
t
ả
ng
ắ
n
v
ề
m
ụ
c
đí
ch
c
ủ
a
h
à
m
ngay
tr
ướ
c
đị
nh
ngh
ĩ
a
c
ủ
a
h
à
m
đó
Th
ê
m
ghi
ch
ú
v
à
o
nh
ữ
ng
ch
ỗ
c
ó
th
ể
b
ị
hack,
ho
ặ
c
nh
ữ
ng
ch
ỗ
t
ưở
ng
r
ằ
ng
sai
nh
ư
ng
l
ạ
i
ch
ạ
y
đú
ng
N
ế
u
m
ộ
t
đ
o
ạ
n
m
ã
n
à
o
đó
c
ó
th
ể
g
â
y
nh
ầ
m
l
ẫ
n,
h
ã
y
th
ê
m
m
ộ
t
í
t
ghi
ch
ú
v
ề
m
ụ
c
đí
ch
c
ủ
a
đ
o
ạ
n
đó
.
Sau
n
à
y
b
ạ
n
s
ẽ
th
ấ
y
đượ
c
l
ợ
i
í
ch
c
ủ
a
n
ó
D
ù
ng
m
ộ
t
ki
ể
u
ghi
ch
ú
nh
ấ
t
qu
á
n,
/*
/*
/*
/*
*/
*/
*/
*/
ho
ặ
c
l
à
//
//
//
//
(tr
(tr
(tr
(tr
á
á
á
á
nh
nh
nh
nh
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
#)
#)
#)
#)
D
ướ
i
đâ
y
l
à
m
ộ
t
th
í
d
ụ
v
ề
ghi
ch
ú
t
ố
t:
<?
//
Random_Numbers.lib
//
Generate
different
types
of
random
numbers.
mt_srand
((double)
microtime
()*
1000000
);
//
mixed
random_element(array
elements[,
array
weights])
//
Extract
a
random
element
from
elements.
Weights
is
//
the
relative
probability
that
each
element
will
be
//
selected.
function
random_element
(
$elements
,
$weights
=array())
{
//
There
must
be
exactly
the
same
amount
of
elements
as
//
there
are
weights
for
this
algorithm
to
work
properly
if
(
count
(
$weights
)
==
count
(
$elements
))
{
foreach
(
$elements
as
$element
)
{
foreach
(
$weights
as
$idx
)
{
//
Note:
we
don't
use
$idx,
since
we
//
don't
want
to
override
elements.
$randomAr
[]
=
$element
;
}
}
}
else
{
$randomAr
=
$elements
;
}
$random_element
=
mt_rand
(
0
,
count
(
$randomAr
)-
1
);
return
$randomAr
[
$random_element
];
}
?>
18.
18.
18.
18.
Nhi
Nhi
Nhi
Nhi
ề
ề
ề
ề
u
u
u
u
bi
bi
bi
bi
ế
ế
ế
ế
n,
n,
n,
n,
t
t
t
t
ố
ố
ố
ố
n
n
n
n
nhi
nhi
nhi
nhi
ề
ề
ề
ề
u
u
u
u
th
th
th
th
ờ
ờ
ờ
ờ
i
i
i
i
gian
gian
gian
gian
C
ó
v
à
i
ng
ườ
i
b
ị
á
m
ả
nh
b
ở
i
bi
ế
n
trung
gian.
T
ô
i
kh
ô
ng
th
ể
hi
ể
u
n
ổ
i
t
ạ
i
sao
ai
đó
c
ó
th
ể
vi
ế
t
nh
ư
th
ế
n
à
y:
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
18
18
18
18
Dormitory
204.B5
18:20
PM
April
7,
2006
Lu
ô
n
đả
m
b
ả
o
r
ằ
ng,
khi
b
ạ
n
l
à
m
vi
ệ
c
v
ớ
i
c
á
c
ti
ế
n
tr
ì
nh
ho
ặ
c
t
ậ
p
tin
ngo
à
i
PHP,
m
ọ
i
th
ứ
đề
u
v
ậ
n
h
à
nh
đú
ng.
M
ộ
t
th
í
d
ụ
tuy
ệ
t
v
ờ
i
l
à
vi
ệ
c
ki
ể
m
tra
đầ
u
ra
c
ủ
a
m
ộ
t
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng
khi
d
ù
ng
h
à
m
sql_connect().
X
á
c
nh
ậ
n
đầ
u
ra
để
ki
ể
m
tra
li
ê
n
k
ế
t
đế
n
CSDL
l
à
đú
ng.
L
à
m
sai
đ
i
ề
u
n
à
y
c
ó
th
ể
d
ẫ
n
đế
n
c
á
c
truy
v
ấ
n
h
ỏ
ng
v
à
m
ấ
t
d
ữ
li
ệ
u
trong
khi
th
ậ
m
ch
í
b
ạ
n
kh
ô
ng
bi
ế
t.
$ketnoi
=
@
sql_connect
(
$host
,
$user
,
$pass
);
if
(!
$ketnoi
)
{
die
(
sprintf
(
"Error
[%d]:
%s"
,
sql_errno
(),
sql_error
()));
}
1.3.
1.3.
1.3.
1.3.
Đặ
Đặ
Đặ
Đặ
t
t
t
t
m
m
m
m
ứ
ứ
ứ
ứ
c
c
c
c
error_reporting
error_reporting
error_reporting
error_reporting
l
l
l
l
à
à
à
à
E_ALL
E_ALL
E_ALL
E_ALL
trong
trong
trong
trong
t
t
t
t
ậ
ậ
ậ
ậ
p
p
p
p
tin
tin
tin
tin
php. ini
php. ini
php. ini
php. ini
H
ã
y
đả
m
b
ả
o
b
ạ
n
c
ấ
u
h
ì
nh
v
ớ
i
m
ứ
c
độ
b
á
o
l
ỗ
i
cao
nh
ấ
t
c
ó
th
ể
.
N
ế
u
b
ạ
n
kh
ô
ng
đặ
t
n
ó
ở
m
ứ
c
cao
nh
ấ
t,
í
t
nh
ấ
t
l
à
trong
qu
á
tr
ì
nh
t
ì
m
l
ỗ
i
(debugging),
b
ạ
n
c
ó
th
ể
b
ỏ
qua
nh
ữ
ng
l
ỗ
i
nh
ư
l
à
bi
ể
u
th
ứ
c
ch
í
nh
quy
(regular
expressions)
kh
ô
ng
h
ợ
p
l
ệ
v
à
c
á
c
gi
á
tr
ị
kh
ô
n
g
ch
í
nh
x
á
c.
Xem
l
ạ
i
l
ầ
n
n
ữ
a
th
í
d
ụ
t
ô
i
đã
đư
a
trong
ph
ầ
n
Ki
ể
m
tra
k
ế
t
qu
ả
l
ờ
i
g
ọ
i
h
à
m,
ở
d
ướ
i
đâ
y.
Gi
ả
s
ử
b
ạ
n
đặ
t
error
reporting
ở
m
ứ
c
th
ấ
p,E_ERROR.
Ch
ú
ý
r
ằ
ng
k
ế
t
qu
ả
in
ra
khi
ch
ươ
ng
tr
ì
nh
thi
h
à
nh
h
à
m
do_math:
kh
ô
ng
c
ó
th
ô
ng
b
á
o
illegal
division
by
zero
đã
t
ừ
ng
hi
ệ
n
ra
l
ầ
n
tr
ướ
c,
ph
ầ
n
$i=$j=0
đơ
n
thu
ầ
n
kh
ô
ng
hi
ệ
n
k
ế
t
qu
ả
.
< ?php
error_reporting
(
E_ERROR
);
mt_srand
((double)
microtime
()
*
1000000
);
function
do_math
(
$a
,
$b
)
{
return
((
$a
-
$b
)
*
2
)
/
mt_rand
();
}
for
(
$i
=
5
,
$j
=
-
5
;
$i
>
-
5
;
$i
... ,
$j
++)
{
print
$j
/
do_math
(
$i
,
$j
)
.
"\n"
;
}
?>
K
ế
t
qu
ả
hi
ệ
n
ra:
-5148.25
-5271
-323.75
-4931
-7713.5
?
-4702.5
-488.5
-928.5
-1394.75
2.
2.
2.
2.
B
B
B
B
ộ
ộ
ộ
ộ
qu
qu
qu
qu
ả
ả
ả
ả
n
n
n
n
l
l
l
l
í
í
í
í
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
tu
tu
tu
tu
ỳ
ỳ
ỳ
ỳ
ch
ch
ch
ch
ỉ
ỉ
ỉ
ỉ
nh
nh
nh
nh
PHP
th
ườ
ng
hi
ể
n
th
ị
c
á
c
l
ỗ
i
th
ự
c
thi
(execution
errors)
ra
tr
ì
nh
duy
ệ
t,
ng
ă
n
b
ạ
n
xo
á
(suppress)
ho
ặ
c
b
ắ
t
(capture)
n
ó
.
Tuy
nhi
ê
n,
v
ớ
i
PHP4
b
ạ
n
đã
c
ó
th
ể
b
ắ
t
l
ỗ
i
b
ằ
ng
h
à
m
set_error_handler().
H
à
m
set_error_handler()
c
ó
th
ể
đượ
c
d
ù
ng
để
ghi
l
ạ
i
c
á
c
l
ỗ
i
x
ả
y
ra
v
ớ
i
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n.
Thay
v
ì
l
à
m
phi
ề
n
ng
ườ
i
d
ù
ng
v
ớ
i
c
á
c
th
ô
ng
b
á
o
l
ỗ
i,
b
ạ
n
c
ó
th
ể
ghi
l
ạ
i
cho
ri
ê
ng
b
ạ
n,
b
ằ
ng
c
á
ch
đặ
t
m
ộ
t
h
à
m
qu
ả
n
l
í
l
ỗ
i
tu
ỳ
ch
ỉ
nh
(a
custom
error
handling
functio
n).
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
27
27
27
27
Dormitory
204.B5
18:20
PM
April
7,
2006
1.
1.
1.
1.
M
M
M
M
ộ
ộ
ộ
ộ
t
t
t
t
th
th
th
th
í
í
í
í
d
d
d
d
ụ
ụ
ụ
ụ
m
m
m
m
ẫ
ẫ
ẫ
ẫ
u
u
u
u
v
v
v
v
ề
ề
ề
ề
đườ
đườ
đườ
đườ
ng
ng
ng
ng
l
l
l
l
ố
ố
ố
ố
i
i
i
i
5.
5.
5.
5.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
xem
xem
xem
xem
x
x
x
x
é
é
é
é
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
m
m
m
m
ã
ã
ã
ã
4.
4.
4.
4.
V
V
V
V
á
á
á
á
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
khi
khi
khi
khi
thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
k
k
k
k
ế
ế
ế
ế
3.
3.
3.
3.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
quan
quan
quan
quan
t
t
t
t
â
â
â
â
m
m
m
m
đế
đế
đế
đế
n
n
n
n
ng
ng
ng
ng
ườ
ườ
ườ
ườ
i
i
i
i
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
khi
khi
khi
khi
thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
k
k
k
k
ế
ế
ế
ế
2.
2.
2.
2.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
theo
theo
theo
theo
s
s
s
s
á
á
á
á
t
t
t
t
k
k
k
k
ế
ế
ế
ế
ho
ho
ho
ho
ạ
ạ
ạ
ạ
ch
ch
ch
ch
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
đồ
đồ
đồ
đồ
á
á
á
á
n
n
n
n
1.
1.
1.
1.
Ph
Ph
Ph
Ph
í
í
í
í
th
th
th
th
ờ
ờ
ờ
ờ
i
i
i
i
gian
gian
gian
gian
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
14
14
14
14
Dormitory
204.B5
18:20
PM
April
7,
2006
1.4.
1.4.
1.4.
1.4.
Khi
Khi
Khi
Khi
m
m
m
m
à
à
à
à
DBMS
DBMS
DBMS
DBMS
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
b
b
b
b
ạ
ạ
ạ
ạ
n
n
n
n
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
h
h
h
h
ỗ
ỗ
ỗ
ỗ
tr
tr
tr
tr
ợ
ợ
ợ
ợ
sql_num_row()
sql_num_row()
sql_num_row()
sql_num_row()
V
à
i
DBMS
c
ó
th
ể
kh
ô
ng
h
ỗ
tr
ợ
h
à
m
sql_num_row().
T
ô
i
xin
chia
s
ẻ
v
ớ
i
b
ạ
n
n
ế
u
DBMS
c
ủ
a
b
ạ
n
l
à
m
ộ
t
trong
s
ố
đó
.
B
ạ
n
s
ẽ
ph
ả
i
t
ì
m
trong
k
ế
t
qu
ả
r
ỗ
ng
b
ằ
ng
c
á
ch
l
ấ
y
d
ò
ng.
Tuy
nhi
ê
n,
trong
tr
ườ
ng
h
ợ
p
n
à
y,
n
ó
n
ê
n
d
ù
ng
m
ộ
t
bi
ế
n
boolean
nh
ư
sau:
< ?php
$timthay
=
false
;
while
(
$mautin
=
sql_fetch_array
(
$truyvan
)){
$timthay
=
true
;
}
if
(!
$timthay
){
print
"Loi!"
;
}
?>
1.5.
1.5.
1.5.
1.5.
L
L
L
L
ấ
ấ
ấ
ấ
y
y
y
y
k
k
k
k
ế
ế
ế
ế
t
t
t
t
qu
qu
qu
qu
ả
ả
ả
ả
:
:
:
:
h
h
h
h
ã
ã
ã
ã
y
y
y
y
ch
ch
ch
ch
ọ
ọ
ọ
ọ
n
n
n
n
c
c
c
c
á
á
á
á
ch
ch
ch
ch
c
c
c
c
ó
ó
ó
ó
í
í
í
í
ch
ch
ch
ch
V
ấ
n
đề
th
ứ
hai
trong
đ
o
ạ
n
m
ã
n
à
y
l
à
n
ó
d
ù
ng
sql_fetch_row()
để
l
ấ
y
t
ậ
p
k
ế
t
qu
ả
.
H
à
m
sql_fetch_row()
ch
ỉ
tr
ả
v
ề
m
ả
ng
đá
nh
ch
ỉ
s
ố
,
trong
khi
đó
sql_fetch_array()
tr
ả
v
ề
m
ả
ng
đá
nh
ch
ỉ
s
ố
v
à
m
ả
ng
d
ù
ng
chu
ỗ
i.
$mautin
=
sql_fetch_array
(
$truyvan
);
print
$mautin
[
1
];
//
Cot
thu
2
print
$mautin
[
name
];
//
Ten
cot
Ch
Ch
Ch
Ch
ú
ú
ú
ú
ý
ý
ý
ý
:
:
:
:
C
ó
nhi
ề
u
quy
ướ
c
kh
á
c
nhau
v
ề
vi
ệ
c
d
ù
ng
d
ấ
u
nh
á
y
khi
th
ê
m
m
ộ
t
đố
i
s
ố
ki
ể
u
chu
ỗ
i.
Trong
th
í
d
ụ
v
ề
t
ê
n
c
ộ
t
ở
tr
ê
n,
v
à
su
ố
t
b
à
i
vi
ế
t
n
à
y,
n
ó
s
ẽ
đượ
c
b
ỏ
.
T
ừ
quan
đ
i
ể
m
c
ủ
a
nh
à
ph
á
t
tri
ể
n,
h
à
m
n
à
o
c
ó
l
ợ
i
h
ơ
n?
M
ả
ng
d
ù
ng
chu
ỗ
i
gi
ú
p
cho
ng
ườ
i
đọ
c
hi
ể
u
đượ
c
b
ạ
n
đ
ang
l
ấ
y
c
á
i
g
ì
ch
ỉ
th
ô
ng
qua
vi
ệ
c
đọ
c
m
ã
,
nh
ư
th
í
d
ụ
đú
ng
d
ướ
i
đâ
y:
< ?php
if
(
sql_num_rows
(
$truyvan
)<=
0
)
{
print
"Mot
loi
da
xay
ra:
Khong
co
mau
tin
nao!"
;
exit;
}
while
(
$mautin
=
sql_fetch_array
(
$truyvan
))
{
print
"$mautin[name]:
$mautin[phone_number]\n<br>\n"
;
}
?>
1.6.
1.6.
1.6.
1.6.
Khi
Khi
Khi
Khi
n
n
n
n
à
à
à
à
o
o
o
o
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
n
n
n
n
ê
ê
ê
ê
n
n
n
n
đượ
đượ
đượ
đượ
c
c
c
c
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
T
ô
i
kh
ô
ng
th
ự
c
s
ự
l
à
fan
c
ủ
a
the
sql_fetch_row().
Tuy
nhi
ê
n,
c
ó
m
ộ
t
t
ì
nh
hu
ố
ng
m
à
d
ù
ng
n
ó
kh
ô
ng
gi
ả
m
kh
ả
n
ă
ng
d
ễ
đọ
c:
khi
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a
c
â
u
truy
v
ấ
n.
C
á
c
th
í
d
ụ
cho
đế
n
l
ú
c
n
à
y
đề
u
đề
c
ậ
p
đế
n
nh
ữ
ng
c
â
u
truy
v
ấ
n
đượ
c
bi
ế
t
tr
ướ
c.
Đô
i
khi
b
ạ
n
để
cho
ng
ườ
i
d
ù
ng
t
ự
đị
nh
ngh
ĩ
a
c
â
u
truy
v
ấ
n.
Tr
ườ
ng
h
ợ
p
n
à
y
b
ạ
n
s
ẽ
kh
ô
ng
bi
ế
t
c
á
c
c
ộ
t
trong
k
ế
t
qu
ả
.
Do
đó
,
d
ù
ng
h
à
m
sql_fetch_row()
k
è
m
v
ớ
i
count()
s
ẽ
x
ử
l
í
hi
ệ
u
qu
ả
c
á
c
c
ộ
t
trong
m
ộ
t
h
à
ng:
< ?php
for
(
$i
=
0
;
$i
<
count
(
$mautin
);
$i
++){
print
"Column"
.
(
$i
+
1
).
$mautin
[
$i
].
"\n<BR>\n"
;
}
?>
2.
2.
2.
2.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
sai
sai
sai
sai
SQL:
SQL:
SQL:
SQL:
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
l
l
l
l
ấ
ấ
ấ
ấ
y
y
y
y
nh
nh
nh
nh
ữ
ữ
ữ
ữ
ng
ng
ng
ng
g
g
g
g
ì
ì
ì
ì
b
b
b
b
ạ
ạ
ạ
ạ
n
n
n
n
c
c
c
c
ầ
ầ
ầ
ầ
n
n
n
n
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
7
7
7
7
Dormitory
204.B5
18:20
PM
April
7,
2006
site.lib
site.lib
site.lib
site.lib
-
ph
ầ
n
ch
ủ
Nh
ư
b
ạ
n
th
ấ
y
trong
th
í
d
ụ
tr
ê
n,
t
á
ch
bi
ệ
t
kh
á
ch
ch
ủ
l
à
m
t
ă
ng
t
í
nh
d
ễ
đọ
c
trong
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n.
M
ộ
t
l
ợ
i
í
ch
kh
á
c
l
à
m
ộ
t
khi
b
ạ
n
đã
c
ó
c
á
c
h
à
m
API
hi
ể
n
th
ị
n
ộ
i
dung,
b
ạ
n
c
ó
th
ể
để
cho
thi
ế
t
k
ế
vi
ê
n
tham
gia
thay
đổ
i
b
ố
c
ụ
c
m
à
kh
ô
ng
c
ầ
n
s
ử
a
m
ã
ch
ươ
ng
t
r
ì
nh.
1.1.
1.1.
1.1.
1.1.
L
L
L
L
ợ
ợ
ợ
ợ
i
i
i
i
í
í
í
í
ch
ch
ch
ch
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
h
h
h
h
à
à
à
à
m
m
m
m
API
API
API
API
T
ươ
ng
đố
i
s
á
ng
s
ủ
a
Nhanh,
h
ầ
u
nh
ư
kh
ô
ng
l
ã
ng
ph
í
th
ờ
i
gian
(overhead)
1.2.
1.2.
1.2.
1.2.
B
B
B
B
ấ
ấ
ấ
ấ
t
t
t
t
l
l
l
l
ợ
ợ
ợ
ợ
i
i
i
i
<
td
width
="
25%
">
<
?php
print_links
();
?
>
<
/td
>
<
td
>
<
?php
print_body
();
?
>
<
/td
>
<
/tr
>
<
/table
>
<
/body
>
<
/html
>
< ?php
$dbh
=
mysql_connect
(
"localhost"
,
"khoa"
,
"pass"
)
or
die
(
sprintf
(
"Khong
the
ket
noi
den
MySQL
[%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
@
mysql_select_db
(
"MainSite"
)
or
die
(
sprintf
(
"Khong
the
chon
CSDL![%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
$sth
=
@
mysql_query
(
"SELECT
*
FROM
site"
,
$dbh
)
or
die
(
sprintf
(
"Khong
the
thuc
hien
truy
van
[%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
$site_info
=
mysql_fetch_object
(
$sth
);
function
print_header
()
{
global
$site_info
;
print
$site_info
->
header
;
}
function
print_body
()
{
global
$site_info
;
print
nl2br
(
$site_info
->
body
);
}
function
print_links
()
{
global
$site_info
;
$links
=
explode
(
"\n"
,
$site_info
->
links
);
$names
=
explode
(
"\n"
,
$site_info
->
link_names
);
for
(
$i
=
0
;
$i
<
count
(
$links
);
$i
++)
{
print
"
\t\t\t
<a
xhref=
\"
$links
[
$i
]\"
>$names
[
$i
]
</a>
\n
<br>
\n
"
;
}
}
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
22
22
22
22
Dormitory
204.B5
18:20
PM
April
7,
2006
1.
1.
1.
1.
C
C
C
C
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ầ
ầ
ầ
ầ
n
n
n
n
bi
bi
bi
bi
ế
ế
ế
ế
t
t
t
t
C
ó
v
à
i
h
à
m
r
ấ
t
thi
ế
t
y
ế
u
để
ti
ế
t
ki
ệ
m
th
ờ
i
gian
thi
h
à
nh
ch
ươ
ng
tr
ì
nh
khi
d
ù
ng
thay
cho
bi
ể
u
th
ứ
c
ch
í
nh
quy.
D
ướ
i
đâ
y
l
à
danh
s
á
ch
c
á
c
h
à
m
thi
ế
t
y
ế
u
đó
:
strtoupper();
strtolower();
ucfirst();
strtr();
str_replace();
trim();
explode();
implode();
substr();
strcmp()
N
ế
u
b
ạ
n
thay
th
ế
c
á
c
bi
ể
u
th
ứ
c
ch
í
nh
quy
c
ủ
a
b
ạ
n
b
ằ
ng
c
á
c
h
à
m
tr
ê
n,
b
ạ
n
c
ó
th
ể
tr
ô
ng
đợ
i
m
ộ
t
s
ự
nh
ả
y
v
ọ
t
v
ề
hi
ệ
u
n
ă
ng,
đặ
c
bi
ệ
t
khi
b
ạ
n
l
à
m
vi
ệ
c
v
ớ
i
c
á
c
chu
ỗ
i
l
ớ
n.
9.
9.
9.
9.
L
L
L
L
ậ
ậ
ậ
ậ
p
p
p
p
tr
tr
tr
tr
ì
ì
ì
ì
nh
nh
nh
nh
PHP
PHP
PHP
PHP
nh
nh
nh
nh
ư
ư
ư
ư
c
c
c
c
á
á
á
á
c
c
c
c
ng
ng
ng
ng
ô
ô
ô
ô
n
n
n
n
ng
ng
ng
ng
ữ
ữ
ữ
ữ
kh
kh
kh
kh
á
á
á
á
c
c
c
c
Nhi
ề
u
ng
ườ
i
b
ắ
t
đầ
u
PHP
sau
khi
đã
thu
ầ
n
th
ụ
c
m
ộ
t
ng
ô
n
ng
ữ
kh
á
c
nh
ư
Perl,
C,
Java
hay
ASP
.
L
à
m
nh
ư
v
ậ
y,
h
ọ
c
ũ
ng
mang
theo
nh
ữ
ng
m
ô
h
ì
nh
m
à
c
ó
th
ể
kh
ô
ng
lu
ô
n
lu
ô
n
đượ
c
d
ù
ng
b
ở
i
PHP.
Kh
ô
ng
may
thay,
v
à
i
c
á
nh
â
n
trong
s
ố
h
à
y
kh
ô
ng
ch
ị
u
b
ỏ
th
ờ
i
gian
để
h
ọ
c
c
á
ch
l
ậ
p
tr
ì
nh
PHP
theo
c
á
ch
ph
ù
h
ợ
p
v
ớ
i
PHP.
Thay
v
à
o
đó
,
h
ọ
th
í
ch
PHP
ho
ạ
t
độ
ng
v
ớ
i
c
á
c
í
t
kh
á
i
ni
ệ
m
m
ớ
i
c
à
ng
t
ố
t
Khi
b
ạ
n
l
ậ
p
tr
ì
nh
PHP
nh
ư
l
à
trong
c
á
c
ng
ô
n
ng
ữ
kh
á
c,
n
ó
th
ườ
ng
d
ẫ
n
đế
n
vi
ệ
c
l
à
m
ch
ươ
ng
tr
ì
nh
ch
ậ
m
h
ơ
n
v
à
kh
ó
b
ả
o
tr
ì
m
ã
.
B
ạ
n
s
ẽ
th
ườ
ng
th
ấ
y
h
ọ
ph
ạ
m
v
à
o
m
ộ
t
trong
c
á
c
l
ỗ
i
sau:
Perl
Perl
Perl
Perl
"1
"1
"1
"1
d
d
d
d
ò
ò
ò
ò
ng"
ng"
ng"
ng"
PHP
l
à
m
ộ
t
ng
ô
n
ng
ữ
kh
ô
ng
th
ự
c
s
ự
t
ố
i
ư
u
cho
c
á
ch
ti
ế
p
c
ậ
n
1
d
ò
ng
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh
.
Thay
v
à
o
đó
,
n
ó
m
ở
r
ộ
ng
c
á
c
t
ậ
p
h
à
m
ph
ứ
c
t
ạ
p
v
à
c
á
c
bi
ể
u
th
ứ
c
ch
í
nh
quy
theo
m
ộ
t
đị
nh
d
ạ
ng
c
ó
c
ấ
p
b
ậ
c
h
ơ
n
M
M
M
M
ã
ã
ã
ã
l
l
l
l
ệ
ệ
ệ
ệ
nh
nh
nh
nh
Perl
Perl
Perl
Perl
while
(<STDIN>)
{
@_
=
split
/:/;
$quotes{shift}
=
shift;
}
print
map
{
"$_:
",
reverse
split
//,$quotes->{$_},"\n";}
keys
%quotes;
M
M
M
M
ã
ã
ã
ã
l
l
l
l
ệ
ệ
ệ
ệ
nh
nh
nh
nh
PHP)
PHP)
PHP)
PHP)
< ?php
$fp
=
@
fopen
(
&apos ;php: //stdin'
,
'r'
);
if
(!
$fp
)
{
die
(
'Cannot
open
STDIN'
);
}
while
(
$line
=
@
fgets
(
$fp
,
1024
))
{
list(
$name
,
$quote
)
=
explode
(
':'
,
$line
);
$quotes
[
$name
]
=
$quote
;
}
foreach
(
$quotes
as
$name
=>
$quote
)
{
print
"$name:
"
;
print
implode
(
"
"
,
array_reverse
(
preg_split
(
'//'
,
$quote
)));
print
"\n"
;
}
@
fclose
(
$fp
);
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
6
6
6
6
Dormitory
204.B5
18:20
PM
April
7,
2006
L
ạ
i
c
ó
m
ộ
t
s
ố
ng
ườ
i
c
ố
g
ắ
ng
vi
ế
t
l
ạ
i
c
á
c
h
à
m
PHP
th
ô
ng
d
ụ
ng
thay
v
ì
đ
i
h
ọ
c
v
ề
h
à
m
đó
trong
c
á
c
t
à
i
li
ệ
u
PHP
cung
c
ấ
p.
C
ó
í
t
nh
ấ
t
2
l
í
do
để
kh
ô
ng
n
ê
n
l
à
m
đ
i
ề
u
n
à
y.
Th
ứ
nh
ấ
t,
v
à
tr
ê
n
nh
ấ
t,
n
ó
l
à
m
cho
nh
ữ
ng
ng
ườ
i
đọ
c
(v
à
s
ử
a)
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
kh
ó
hi
ể
u
v
à
c
ả
m
th
ấ
y
c
ó
qu
á
nhi
ề
u
h
à
m
d
ư
th
ừ
a.
H
ọ
t
ự
h
ỏ
i
t
ạ
i
sao
b
ạ
n
l
ạ
i
đ
i
đị
nh
ngh
ĩ
a
h
à
m
theo
ki
ể
u
đó
,
thay
v
ì
s
ử
d
ụ
ng
c
á
c
h
à
m
đị
nh
ngh
ĩ
a
s
ẵ
n
b
ở
i
PHP.
Th
ứ
hai,
đị
nh
ngh
ĩ
a
h
à
m
nh
ư
v
ậ
y
c
ũ
ng
s
ẽ
l
à
m
ch
ậ
m
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
(m
ộ
t
c
á
ch
kh
ô
ng
c
ầ
n
thi
ế
t).
Kh
ô
ng
ch
ỉ
ph
ả
i
x
ử
l
í
nhi
ề
u
m
ã
h
ơ
n,
m
à
m
ỗ
i
l
ầ
n
g
ọ
i
h
à
m
do
b
ạ
n
đị
nh
ngh
ĩ
a,
b
ạ
n
đã
t
ố
n
th
ờ
i
gian
cho
ch
í
nh
h
à
m
đó
,
tr
ướ
c
khi
h
à
m
nguy
ê
n
thu
ỷ
đượ
c
g
ọ
i.
1.
1.
1.
1.
Tr
Tr
Tr
Tr
á
á
á
á
nh
nh
nh
nh
vi
vi
vi
vi
ế
ế
ế
ế
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ó
ó
ó
ó
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
H
ã
y
đươ
ng
đầ
u
v
ớ
i
n
ó
.
Đô
i
khi
th
ậ
t
l
à
kh
ó
để
tr
á
nh
chuy
ệ
n
n
à
y.
Tr
ướ
c
ti
ê
n,
m
ộ
t
l
ậ
p
tr
ì
nh
vi
ê
n
kh
ô
ng
th
ể
theo
k
ị
p
c
á
c
h
à
m
c
ủ
a
PHP
ngay
đượ
c.
V
à
ai
c
ó
th
ờ
i
gian
m
à
tra
c
ứ
u.
T
ạ
i
sao
kh
ô
ng
vi
ế
t
l
ạ
i
cho
kho
ẻ
?
C
á
ch
l
à
m
c
ủ
a
t
ô
i
l
à
lu
ô
n
c
ó
s
ẵ
n
m
ộ
t
t
à
i
li
ệ
u
ch
ỉ
d
ẫ
n
PHP
(
PHP
manual
)
m
ỗ
i
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh
(t
á
c
gi
ả
b
à
i
n
à
y
d
ù
ng
m
ộ
t
b
ả
n
PDF
c
ó
t
ạ
o
ch
ỉ
m
ụ
c,
ri
ê
ng
t
ô
i,
ng
ườ
i
d
ị
ch,
th
ì
d
ù
ng
m
ộ
t
t
à
i
li
ệ
u
CHM
đầ
y
đủ
th
ô
ng
tin
v
à
c
ó
c
ả
g
ó
p
ý
c
ủ
a
ng
ườ
i
s
ử
d
ụ
ng
m
à
b
ạ
n
c
ó
th
ể
l
ấ
y
ở
http://www .php. net/docs .php)
.
Sau
đó
,
m
ỗ
i
khi
đị
nh
vi
ế
t
m
ộ
t
h
à
m
m
ở
r
ộ
ng
cho
PHP,
t
ô
i
đọ
c
l
ướ
t
qua
t
à
i
li
ệ
u
để
xem
h
à
m
đó
c
ó
ch
ư
a.
Tuy
nhi
ê
n,
c
ầ
n
ch
ú
ý
l
à
,
do
b
ả
n
ch
ấ
t
m
ã
ngu
ồ
n
m
ở
c
ủ
a
PHP,
b
ạ
n
c
ó
th
ể
t
ì
m
đượ
c
c
á
c
h
à
m
do
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a
tr
ướ
c
khi
n
ó
đượ
c
th
ê
m
v
à
o
PHP
(th
í
d
ụ
nh
ư
h
à
m
t
ì
m
ph
ầ
n
t
ử
kh
á
c
nhau
gi
ữ
a
hai
m
ả
ng).
Đ
i
ề
u
n
à
y
kh
ô
ng
c
ó
ngh
ĩ
a
l
à
b
ạ
n
ph
ả
i
hi
ệ
u
ch
ỉ
nh
l
ạ
i
m
ã
(This
doesn't
necessarily
mean
that
you
should
have
to
correct
the
code.
-
don't
understand)
16.
16.
16.
16.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
t
t
t
t
á
á
á
á
ch
ch
ch
ch
bi
bi
bi
bi
ệ
ệ
ệ
ệ
t
t
t
t
ph
ph
ph
ph
ầ
ầ
ầ
ầ
n
n
n
n
server
server
server
server
v
v
v
v
à
à
à
à
client
client
client
client
V
à
i
l
ậ
p
tr
ì
nh
vi
ê
n
c
ố
k
ế
t
n
ố
i
c
ả
ch
ươ
ng
tr
ì
nh
v
ớ
i
nhau,
ngh
ĩ
a
l
à
gh
é
p
chung
m
ã
HTML
(client-side
-
ph
ầ
n
kh
á
ch)
v
ớ
i
m
ã
PHP
(server-side
-
ph
ầ
n
ch
ủ
)
v
à
o
trong
m
ộ
t
t
ậ
p
tin
l
ớ
n.
M
ặ
c
d
ù
đ
i
ề
u
n
à
y
t
ố
t
cho
c
á
c
site
nh
ỏ
,
nh
ư
ng
n
ó
c
ó
th
ể
tr
ở
th
à
nh
v
ấ
n
đề
l
ớ
n
khi
c
á
c
site
đó
tr
ở
n
ê
n
l
ớ
n
h
ơ
n
v
à
đượ
c
b
ổ
sung
th
ê
m
t
í
nh
n
ă
ng.
L
ậ
p
tr
ì
nh
theo
c
á
ch
n
à
y
l
à
m
n
ả
y
sinh
v
ấ
n
đề
kh
ó
b
ả
o
tr
ì
v
à
c
á
c
t
ậ
p
tin
tr
ở
n
ê
n
c
ồ
ng
k
ề
nh.
1.
1.
1.
1.
H
H
H
H
à
à
à
à
m
m
m
m
API
API
API
API
Khi
mu
ố
n
t
á
ch
bi
ệ
t
ph
ầ
n
kh
á
ch
-
ch
ủ
,
b
ạ
n
c
ó
v
à
i
l
ự
a
ch
ọ
n.
M
ộ
t
c
á
ch
l
à
vi
ế
t
nh
ữ
ng
h
à
m
hi
ể
n
th
ị
n
ộ
i
dung
linh
độ
ng
v
à
đặ
t
ch
ú
ng
đú
ng
ch
ỗ
trong
trang
web.
Th
í
d
ụ
d
ướ
i
đâ
y
minh
ho
ạ
đ
i
ề
u
n
à
y:
index .php
index .php
index .php
index .php
-
ph
ầ
n
kh
á
ch
return
strlen
(
$str
);
}
?>
HTML
HTML
HTML
HTML
<
?php
include_once
("site.lib");
?>
<
html
>
<
head
>
<
title
>
< ?php
print_header
();
?>
<
/title
>
<
/head
>
<
body
>
<
h1
>
<
?php
print_header
();
?
>
<
/h1
>
<
table
border
="
0
"
cellpadding="
0
"
cellspacing="
0
">
<
tr
>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
11
11
11
11
Dormitory
204.B5
18:20
PM
April
7,
2006
1.5.
1.5.
1.5.
1.5.
Th
Th
Th
Th
ó
ó
ó
ó
i
i
i
i
quen
quen
quen
quen
x
x
x
x
ấ
ấ
ấ
ấ
u
u
u
u
D
ướ
i
đâ
y
l
à
nh
ữ
ng
th
í
d
ụ
(ph
ó
ng
đạ
i)
v
ề
nh
ữ
ng
t
ê
n
bi
ế
n
t
ồ
i
$username_cua_csdl
=
'SINHVIEN'
;
$guMbi
=
'bimat'
;
//
for
the
$password
$tentruocdo_cua_giaovien
=
array
(
'Sadlon'
,
'Lane'
,
'Patterson'
,
'Perry'
,
'Sandler'
,
'Mendick'
,
'Zung'
);
foreach
(
$tentruocdo_cua_giaovien
as
$TeaChER
);
2.
2.
2.
2.
Đặ
Đặ
Đặ
Đặ
t
t
t
t
t
t
t
t
ê
ê
ê
ê
n
n
n
n
h
h
h
h
à
à
à
à
m
m
m
m
M
ọ
i
kh
á
i
ni
ệ
m
á
p
d
ụ
ng
cho
t
ê
n
bi
ế
n
c
ũ
ng
á
p
d
ụ
ng
cho
đặ
t
t
ê
n
h
à
m.
Tuy
nhi
ê
n,
ng
ữ
ph
á
p
đó
ng
vai
tr
ò
đặ
c
bi
ệ
t
trong
c
á
c
h
à
m.
C
á
c
h
à
m
PHP,
đị
nh
ngh
ĩ
a
s
ẵ
n
ho
ặ
c
do
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a,
l
à
kh
ô
ng-ph
â
n-bi
ệ
t-c
á
ch-
vi
ế
t
(not
case
sensitive)
2.1.
2.1.
2.1.
2.1.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
độ
độ
độ
độ
ng
ng
ng
ng
t
t
t
t
ừ
ừ
ừ
ừ
H
à
m
c
ủ
a
PHP
t
ươ
ng
đươ
ng
v
ớ
i
m
ộ
t
độ
ng
t
ừ
khi
n
ó
i.
T
ê
n
h
à
m,
do
đó
,
n
ê
n
đượ
c
h
ướ
ng
h
à
nh
độ
ng
(action
oriented).
N
ó
c
ũ
ng
n
ê
n
đượ
c
d
ù
ng
ở
th
ì
hi
ệ
n
t
ạ
i.
Th
í
d
ụ
,
b
ạ
n
c
ó
m
ộ
t
h
à
m
t
ạ
o
m
ộ
t
s
ố
ng
ẫ
u
nhi
ê
n
v
ớ
i
ph
â
n
b
ố
Gausse
(a
gaussian
random
number),
b
ạ
n
n
ê
n
đặ
t
t
ê
n
n
ó
l
à
generate_gaussian_rand().
Ch
ú
ý
c
á
c
s
ử
d
ụ
ng
độ
ng
t
ừ
h
à
nh
độ
ng
trong
t
ê
n
h
à
m.
N
ó
s
ẽ
đặ
t
h
à
m
v
à
o
ng
ữ
c
ả
nh
th
í
ch
h
ợ
p
< ?php
list
(
$num1
,
$num2
)
=
generate_gaussian_rand
();
list
(
$num3
,
$num4
)
=
generate_gaussian_rand
();
?>
Để
so
s
á
nh,
h
ã
y
xem
th
í
d
ụ
:
< ?php
list
(
$num1
,
$num2
)
=
gaussian_rand_generator
();
list
(
$num1
,
$num2
)
=
gaussian_rand_generator
();
?>
B
ạ
n
c
ó
th
ấ
y
s
ự
kh
á
c
bi
ệ
t?
Th
í
d
ụ
th
ứ
hai
s
ử
d
ụ
ng
danh
t
ừ
,
m
ặ
c
d
ù
v
ẫ
n
chuy
ể
n
t
ả
i
đượ
c
m
ụ
c
ti
ê
u
c
ủ
a
h
à
m,
nh
ư
ng
n
ó
ng
ă
n
ng
ườ
i
ta
đọ
c
m
ộ
t
c
á
ch
tr
ô
i
ch
ả
y.
H
ã
y
s
ử
d
ụ
ng
độ
ng
t
ừ
!
13.
13.
13.
13.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
suy
suy
suy
suy
ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
th
th
th
th
ấ
ấ
ấ
ấ
u
u
u
u
đá
đá
đá
đá
o:
o:
o:
o:
CSDL
CSDL
CSDL
CSDL
&
&
&
&
SQL
SQL
SQL
SQL
S
ố
c
á
ch
ng
ườ
i
ta
truy
c
ậ
p
c
ơ
s
ở
d
ữ
li
ệ
u
(CSDL
-
database)
v
à
l
ấ
y
k
ế
t
qu
ả
nhi
ề
u
đế
n
m
ứ
c
th
ự
c
s
ự
ng
ạ
c
nhi
ê
n.
Nh
ữ
ng
th
í
d
ụ
t
ô
i
đã
g
ặ
p
bao
g
ồ
m
nh
ữ
ng
t
ổ
h
ợ
p
l
ệ
nh
if
v
à
v
ò
ng
l
ặ
p
do...