Năm vấn đề chung về cơ sỡ dữ liệu trên PHP - Pdf 76



Nm vn  chung v c s d liu trên PHP

Mc : Trung bình
Jack Herrington, Tng biên tp, Code Generation Network
08 01 2010
Hãy khám phá nm vn  v c s d liu ph bin xy ra trong các ng dng PHP -- gm thit k lc
 c s d liu, truy cp c s d liu và mã logic nghip v s dng c s d liu -- cng nh các gii
pháp ca chúng.
Nu ch có mt cách  s dng c s d liu chính xác ...
Bn có th to thit k c s d liu, truy cp c s d liu và mã logic nghip v PHP t trên u trang ca nó theo
mt s cách nào ó và bn thng kt thúc khi nhn thy nó sai. Bài vit này minh ha nm vn  thng gp trong
vic thit k c s d liu, trong mã PHP truy cp các c s d liu và cách sa cha nhng vn  này khi bn bt
gp chúng.
Vn  1: S dng MySQL trc tip

Khi s dùng các hàm
mysql_
 truy cp trc tip vào c s d liu có mt vn  ph bin là mã PHP ã c. Lit kê
1 ch ra cách truy cp trc tip vào c s d liu.

Lit kê 1. Access/get.phpHãy lu ý vic s dng hàm
mysql_connect
 truy cp vào c s d liu. Cng chú ý truy vn trong ó có dùng s
liên kt chu i  b sung tham s
$name
vào truy vn ó.



Page 1 of 10Nm vn  chung v c s d liu trên PHP

Chú ý r(ng tt c các  cp trc tip ca MySQL ã di&n ra, tr# chu i kt ni c s d liu trong
$dsn
. Ngoài ra,
chúng ta s dng bin
$name
trong SQL thông qua toán t
?
. Sau ó, d liu v"i truy vn này c gi i thông qua
array
 cui phng thc
query()
.
Vn  2: Không s dng chc nng tng t ng

Ging nh hu ht các c s d liu hin i, MySQL có kh nng to các trình nhn dng (identifier) duy nht tng t
ng trên mt c s cho m i bn ghi. Mc dù vy, chúng ta v)n thy mã ln u tiên chy mt lnh
SELECT
 tìm mã
nhn dng (
id
) ti a, sau ó b sung thêm mt vào
id
ó, cng nh mt bn ghi m"i. Lit kê 3 cho thy mt lc 

6
7)*='>8%$@($A@#'#!
&)$>'$'>8%$
+$7@B+@C'
'$A'
 '$A'
!

@C#$)'@C'*D>%B$#E45!
@C#$)'@C'*D>%B$#F4!
@C#$)'@C'*D>%B$#E4!

"78."!



 !

9::9 ;:!
<7899&!
=$>)99$?6+!2

?6"#$%$&'G()*+"!
!
 ?6@  /01!2

HE!

?6"@C#$)'@C'*D>%B$#"!
?6G!

id
.
Nhng thay i này cho phép tng mt chút tc . Lit kê 6 cho thy mã PHP ã cp nht, mã này chèn users (nhng
ngi dùng) vào bng.

Lit kê 6. Add_user_good.phpThay vì nhn c giá tr%
id
ti a, tôi bây gi ch cn s dng câu lnh
INSERT
 chèn d liu, sau ó s dng mt
câu lnh
SELECT
 ly
id
ca bn ghi v#a m"i c chèn vào. Mã này n gin hn nhiu và hiu qu hn so v"i
phiên bn gc và lc  liên quan ca nó.
Mt la chn khác i v"i chc nng tng t ng ca MySQL là s dng phng thc
nextId()
trong h thng
PEAR DB. Trong trng hp ca MySQL, iu này to ra mt bng tun t m"i và qun lý vic s dng mt c ch
khóa phc tp. Li th ca vic s dng phng thc này là nó s* hot ng trên các h thng c s d liu khác.
Dù b(ng cách nào, bn nên s dng mt h thng qun lý s tng các ID duy nht cho bn và không da vào h thng
mà bn truy vn u tiên, sau ó tng giá tr% ca chính bn và thêm bn ghi. Cách tip cn th hai d& b% nh hng
theo các iu kin ganh ua trên các trang có khi lng cao.
4!

3!


4!

3!
6
Page 3 of 10Nm vn  chung v c s d liu trên PHP
Vn  3: S dng nhiu c s d liu

Mt khi chúng ta thy ng dng mà m i bng  trong mt c s d liu riêng bit. Có nhiu lý do  thc hin iu ó
trong các c s d liu rt l"n, nhng i v"i ng dng trung bình, bn không cn mc phân on này. Ngoài ra, mc
dù có th thc hin các truy vn liên quan trên nhiu c s d liu, tôi rt khuyên bn chng li nó. Cú pháp phc tp
hn. Qun lý sao lu và khôi phc li không d& dàng. Cú pháp có th hoc không th làm vic gia các máy c s d
liu khác nhau. Và tht khó khn  tip tc theo cu trúc quan h khi các bng c chia trên nhiu c s d liu.
Vì vy, nhiu c s d liu s* ging th nào? + bt u, bn cn mt s d liu. Lit kê 7 cho thy d liu này c
chia thành bn tp.

Lit kê 7. Các tp c s d liu Trong phiên bn nhiu c s d liu ca các tp này, bn s* np câu lnh SQL vào trong mt c s d liu, sau ó np
các câu lnh SQL
users
(nhng ngi s dng) vào c s d liu khác. Mã PHP  truy vn c s d liu cho các tp
này liên kt v"i ngi dùng c th c hin th% d"i ây.

Lit kê 8. Getfiles.php


@C#$)'@C'*D>%B$#F4!

"78."!



9::9 ;:E!
<7899&!
=$>)99$?6+!2

?6"#$%$&'()*+,-$)$"
!
!
 ?6@  /01!2

!
2



!

 !

9::9 ;:F!
<7899&!
=$>)99$?6+!2

Page 4 of 10Nm vn  chung v c s d liu trên PHP


!
 ?6@  /1 !2

 !
2

45!

3!
6

"78."!



 !

9::9 ;:!
<7899&!
=$>)99$?6+!2

?6
"#$%$&'.K()*+,-$)$
.>C7.."
!
 ?6@  /1 !2

 !
2


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status