数据表插入:
3 M& Y3 x* ^6 U* i5 Q方法:
% G+ @/ V6 J* e9 _+ d" J- r% W
DB::insert()
+ F F( A- Y# }2 D' ?) D& p3 s参数:
/ s$ F& L/ a; n7 d+ q- a8 ~* C
$table:插入数据的表
S5 e+ Q7 {, s ~* [( k( C4 j$data:插入的数据,字段对应值
: ^ \5 C! @4 ?
$return_insert_id:是否返回插入数据的ID
0 }8 L; V# `6 |& h$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
2 q0 N" |/ [/ L+ G! a, d" s2 Y$silent:操作失败是否不提示
C8 t& w( W, p: N9 t+ V
' r- o! b) A" s% s7 {: ?实例
6 `# ^. f- e8 H, q7 y% BDB::insert('test_db',array(
& G0 s# h" }: ~1 r2 x B9 @. e
'name' => 'ppc',
$ \& H8 R# i. ~" C' n6 H),true,true);
7 q& c6 a+ |9 A; d7 z3 c
1 C( Z, C! r& S$ S9 B( P# \* k
数据表删除:
: N4 c* ?! T) h2 Y N3 X( D方法:
6 B: q9 f6 n0 a E: U; W3 YDB::delete()
& E. S7 [1 M5 w3 I
参数:
" R' o2 e' b# D7 u$table:删除数据的表
' O# H& U6 m7 i4 P5 a* m; i# X# W" e
$condition:删除的条件
d7 G4 W' W0 O& y# n% `8 ^! u
$limit:删除满足条件的条目数
+ E! B# s' e) t3 f7 p
$unbufered:是否使用无缓存查询
! x# ?8 i7 P b: [* x8 i T# Z1 K1 Y
0 Q# \$ |% |5 o- e/ m实例:
4 `5 K0 k. h# h; PDB::delete('test_db','id>2',1,true);m
/ x1 X! l" ?& S: U
& T1 u* v; z/ F! H/ h5 }' o数据表更新:
: \. v5 ]6 R7 p8 N* q: M4 k3 _7 r
方法:
6 U) R4 K; S2 M/ vDB::update()
9 s: ^) m2 _& i+ R% ?: r
参数:
+ v2 Y% H! R* d% b. Y6 t" A- B
$table:更新数据的表
& X9 S" i; @6 z i$data:更新的数据,字段对应值
9 k2 Y) C% f; T' o6 r5 ^
$condition:更新的条件
' x) R' q$ o% r4 n$unbufered:是否使用无缓存查询
; Q: e1 N+ \+ R1 N+ ~& E" Y& A/ r$low_priority:是否采用无锁表更新
7 C0 P; k6 J0 T/ q/ I+ y- M
4 ?# U7 b6 i3 o% ~' F) |( y( C7 M0 J
数据表查询(单条):
) \- I: Y1 Y, g/ X% j: a/ J" e方法:
- e! c1 `) K1 \' s9 F9 X$ A: d5 [2 Q
DB::fetch_first()
4 s r+ i1 j* q, Q3 K" N" J参数:
% o. m6 h6 g+ o# p6 e0 d" o* R5 ?$sql:查询数据的SQL语句
6 v* ~: v6 \% I4 f$arg:绑定查询的参数
2 A; a) Q7 Y$ S7 x/ q
$silent:查询失败是否不提示
+ \ ]' K6 L4 J3 c. W( @实例:
% A1 V$ Y, G& @9 E) x' }9 ?$id = $_GET['id'];
x( y+ a2 K4 I" v; wDB::fetch_first('select * from %t where id=%d',array(
! S' q4 w. W. S6 @ F'test_db',$id
0 a4 Q- D2 C5 ^
));
" W0 R3 \2 M5 s2 \% b) k1 q! Q* `3 R1 x$ ?
DB::fetch_first('select * from %t where name=%s',array(
4 I- P: f& r( S* n; t2 n' b3 }0 ]2 n f
'test_db','ccc'
8 A7 }3 C7 {; y S));
) |- _$ ]) `# G! M9 Y$ b
+ L7 j$ S5 h: Q: x1 j
, M( u1 T7 g ~
# y# _' r) k) U数据表查询(多条):
1 _# j& ~! [3 q F P方法:
- Q7 t6 N6 t, {( ~0 U0 @+ j# F$ ADB::fetch_all()
2 ^. K& N' \; F6 c# [8 ` }
参数:
! Z( \! D. d" c- @, j$sql:查询数据的SQL语句
, F( K" K) x- P; W4 W. n$arg:绑定查询的参数
; s+ y! z8 a3 i- R, g$keyfield:一维索引的字段名称
6 q* a0 q/ E1 t( U$silent:查询失败是否不提示
) {* S6 l1 h; D
实例:
# |4 X. p1 A- E9 L
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
" }; p$ l: r3 Q1 O8 L
'test_db',7,10
/ Y9 E7 ^: z; a
));
3 S2 _8 H1 F7 `
3 `: O, Y# y/ o/ }) lDB::fetch_all('select * from %t where id IN (%n)',array(
j# l' f( x! h'test_db',array(1,2,3,4,5)
2 P# n' D1 Y5 G% l t! T
));
5 d' h P0 O' d8 c p
& [+ ?7 H9 n6 }1 t3 a8 b数据表查询(单字段) 常用于统计查询:
& e' v7 ^# g) j+ G. u方法:
' Y7 J$ f' f7 i( b8 @& U
DB::result_first()
% x' t( y' s6 B. g; J) n参数:
. b1 w% f$ l5 E8 |3 D
$sql:查询数据的SQL语句
0 X' X/ k& N$ |. E( r4 h' N
$arg:绑定查询的参数
+ B+ @* y: p2 m) ~* C' g
$silent:查询失败是否不提示
- X E7 |. N' R E( g1 P- {+ d实例:
2 u) l" `) W6 N! p# X/ eDB::result_first('select name from %t where id=%d',array(
8 o# [$ r6 |4 @; s5 X- u& X7 b
'test_db',1
# [/ ]( b6 t4 ^5 W. E* l* f9 c));
3 ?. S- `# ?$ C$ @* f
5 E: e l/ [6 r( v3 `DB::result_first('select max(id) from %t',array(
2 x1 v0 t4 a9 G: U- k7 U) g: w+ C
'test_db'
' N/ y# f2 N% g6 P$ r. D$ T));
, ]" e/ t i! n
4 H* J$ E4 v! f
数据库自定义query
! j' c% c) X4 |- j
方法:
. R o; I: {/ M3 N( HDB::query()
: N- @8 g8 i3 q参数:
/ G | p+ f; ?4 T$sql:自定义SQL语句
0 w& [1 M1 d$ g$ O9 f# J" I$ M$arg:需要绑定的数据
6 N$ R1 Y; N/ a3 R; |/ \$silent:执行SQL失败时,是否不提示
+ ?) X# \' K* A( A/ \
$unbufered:是否使用无缓存查询
: f3 e' W8 X( X) S6 }' k- T
实例:
3 n! k d6 ?9 V# N G$query = DB::query("select * from %t where id IN (%n)",array(
! S4 I8 C. x. v( \) {% Q) g3 w
'test_db',array(1,2,3)
0 X. G+ T, C8 l7 X! s) g. L));
; S5 L+ R( h N8 m% k; r6 Kdebug($query);
% P1 W( d3 ~4 A
0 v1 o( b8 r1 P4 j3 [/ V3 C
删除
6 P' {9 x4 P* ` M3 w8 ~; f* aDB::query("delete from %t where id = %id",array(
+ Y, F, v# I/ ?2 G6 ~4 R'test_db',11
* W% @0 T& @) U% O9 {7 P+ i
));
; U/ `- N O" S
% q7 K, W* `+ g# K, X' |2 ]
7 }7 u' F& x6 t6 z* Q( Z& T/ p
资源集转换结果集
. Q9 `5 T3 j, X
方法:
: _$ g2 Y4 o4 `; f2 HDB::fetch()
& m/ `7 [* W0 N
参数:
3 h2 @; `4 K8 J k
$resourceid:数据库查询的query资源
4 B! y' \ N' R6 q9 B8 n2 U& p
$type:数组类型
0 b0 \+ I. R" D% M- N" l; W' p# q# r实例:
6 Q( [6 a6 i i5 w# ~. d1 h查询
3 D) b4 I5 W' w2 C$query = DB::query("select * from %t where id IN (%n)",array(
3 V+ @: A" b7 w; M'test_db',array(1,2,3)
b, K. {8 W' J( \, I6 y. F1 I
));
$ Q. |5 E. _' y7 {while($res = DB::fetch($query)){
/ `" ~8 b* @* o; o4 N, c $result[] = $res;
. F t/ O& B' L}
j7 U) @+ s9 ]/ S1 `debug($query);
& a- a% C$ a f9 t" ?9 o; U5 R
5 ^; f; t3 V5 U单字段资源集转换结果集(一般用于查看获取统计值)
. G' T3 d# z1 h- L# J/ n2 `1 Z方法:
. P' p; h; S# I+ |2 H2 |5 {
DB::result()
; K5 K$ z0 n6 I; v! ^
参数:
+ K, G2 K3 a4 F! R* U$resourceid:数据库查询的query资源
, i2 `# G- E: A9 D7 A
$row:指定行的第一个字段
% j. _. t5 N p; t: i- L
实例:
3 w, k) ?$ y7 r' p" R$query = DB::query("select count(*) from %t where id < %id order by id",array(
" U B+ X6 I( X1 g( \- Z'test_db',10
& r6 i4 l# K7 c& {' I
));
# J8 s& l3 |; Z3 M$ K
$data = DB::result($query,1);
5 T8 C- D) }2 H; o, R$ A6 n! G0 p# V' c' I) N/ W. V- _3 _5 [% G
常用实例:
* n' ~8 i3 v/ k/ A$query = DB::query("select count(*) from %t where id > %d",array(
. x7 D4 f2 j* h: ^8 B'test_db',7
' P6 a+ ]7 U9 _+ X$ f) i
));
9 p5 p. ?% T) n3 Q# G' b0 c2 Y
$data = DB::result($query,0);
P7 i: s4 K* ~* yecho $data;
9 M6 I3 f4 \6 v! G
: A. S3 ^+ h4 e2 Y# S4 k a资源集行数计算(不适合统计太多的资源,速度慢)
% F c# T5 p& U) j. W7 l
方法:
o, O9 |. |5 g/ h5 i9 h
DB::num_rows()
M4 p8 u, a, {" M+ v2 F
参数:
3 o O' H) X9 c. ^: g: \$resourceid:数据库查询的query资源
/ Y! X G5 S# n+ {4 G" b6 R
实例:
) K6 {( F1 [4 j/ Y( F1 _3 |/ D
$query = DB::query("select * from %t where id > %d",array(
- K( T4 ]4 u5 I8 B) P. c4 l& ]'test_db',7
$ M0 E4 v& a( I: r& p
));
+ ]- D4 b" j0 j& ^% E% k
$data = DB::num_rows($query);
; ?3 j! A( v- x2 H4 Z1 D. k% z; Aecho $data;
& q, \7 t0 Y# h2 r0 W+ l
" ~; _2 Y" z5 q! F. Q资源集资源释放
# ^7 N' C2 e/ g
方法:
7 J u/ x: N' l
DB::free_result()
E9 V1 A' I j. \参数:
3 w" F f# M- t* X1 U2 }9 S
$query:执行SQL语句的query资源
4 {$ o4 {$ Y! ^$query = DB::query("select count(*) from %t where id > %d",array(
, u3 K% V# r6 Z$ ?) b, [. F
'test_db',7
5 b' e5 m+ F: v" }8 s/ z& _ F& Q
));
1 c L8 R. e- g4 p3 _
$data = DB::result($query,0);
( L% Q8 F! p$ @; W5 v5 h
DB::free_result($query);
- ~+ ]# L0 X1 K4 E& kecho $data;
" h2 {) r, r$ A L! G9 U) O
5 _1 B9 Q7 R8 J7 e! J按字段排序
) b( I, q. Q, F8 a7 t$ a% I
方法:
! P4 [( K' l/ w3 {+ H+ M4 sDB:

rder()
. L- u9 P' A* o参数:
0 u$ p$ F' r9 h8 z/ c
$field:需要排序的字段
; b$ l m4 d4 |: m- @' p/ R2 T9 R
$order:排序方式
- b) O7 R8 X, }# @* ]6 Y) W实例:
0 b+ X9 k3 Y; m
$query = DB::query("select * from %t where id > %d order by".DB:

rder('id','desc'),array(
p# l+ {: O& z* H'test_db',7
# I0 L( Q2 s! w# x: Y" v5 S
));
1 ?8 I7 M- b+ W" I3 w' O! Z" P$data = DB::result($query,0);
$ M/ p, _5 Q. Z$ ZDB::free_result($query);
) B! t" }& r A' A. e+ R
echo $data;
9 B; l. M7 \2 f& c
5 X8 B3 X4 o/ |' o% y1 C取值区间设定
; i t @3 R7 J6 n2 r3 p
方法:
% o7 b+ J0 X$ x4 Z! U+ oDB::query()
5 m7 b7 R+ Z$ h0 G' A参数:
4 p0 `" Z3 T7 |% s$start:开始的索引值
! u' x( D2 X7 m5 A3 B, D" G& G" Y
$limit:条目数
4 u- L! q* ~2 P; l7 o/ }9 c! I$query = DB::query("select * from %t where id > %d order by".DB:

rder('id').DB::limit(0,3),array(
6 f5 N) {: t% D3 c0 l% q6 A
'test_db',7
3 R% B! N! [$ ]+ c- C
));
8 G( B5 q! J$ D
0 _( x% X! p/ S
字段拼接
5 d; X+ q" g+ X d方法:
' t3 W0 u* i, v5 BDB::implode()
! @6 s* U0 Q. [4 A参数:
; C _ t+ q+ m7 y( O+ d5 M2 j$array:需要拼接的字段数组
! `4 ^' I' A) r: c. s( @+ P
$glue:字段拼接的字符串
3 }& p2 c) V. b2 w/ b4 }, T8 q
实例:
/ I8 ~% ~" [% H
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
6 y" Y* c3 I8 e$ u! ^7 ~9 S; L* ~6 [9 G2 i [- F& O
应用:
3 ]/ C- l4 I3 y8 N& bDB::query("update %t set".DB::implode(array(
' I' ~1 t, L' i9 l* o0 A'name' => 'ddd',
8 y9 v+ u, R! e0 N$ w'id' => 22
{+ y( h; x* B! K/ k1 [ x
)).'where id=%d',array(
0 q, `; g0 u" v7 w( D7 a'test_db',
! D! G' x4 i% u7 j
10,
5 k- @3 w" Y# A- B* [)
7 `1 p: X0 Z+ q6 j5 q8 {, P" _( V
);
1 j: b3 u6 f4 P; O) g# G2 F" M) z7 c5 A/ c2 u7 ~% \
字段数据设定
' M- K3 m; R' @7 J( Z! k
方法:
' v$ C! m" g$ m5 W; _
DB::field()
/ ?- x3 E) Q: X+ T' A0 f
参数:
9 V! Z& H- ~8 ]" @: y/ h; b% d$ w
$field:需要排序的字段
: W! J% w9 F/ M
$val:字段对应的值
n. I" B" l3 H3 V& R. ]$ w# g# ]
$glue:连接字段与值的类型
1 Y" v Q( F1 c- N/ V$ m
实例:
6 P" Y$ g; R( p- v8 TDB::field('id', 99, '=');
7 r v4 \+ @& w( o; _3 h$ {5 b. l' `
应用(把3改成99):
+ B; R& }! ^/ y$ zDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
4 Q2 H `& G# p$ E$ Aarray('test_db', 3);
+ `# f' @) w3 v) i));
( D* n% r; x5 z1 [