数据表插入: : m u, D! _: R1 }
方法:
/ Z4 R4 v, n- N6 |* EDB::insert() # t5 m! A: G4 p* S/ j
参数:
5 @3 K2 d; |( F2 T' k$table:插入数据的表
$ P4 V& y& G, z( e8 P# {$data:插入的数据,字段对应值 : q5 ` t0 m- e K
$return_insert_id:是否返回插入数据的ID ! N7 M' r$ l8 i! W7 D; ?& V
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
# D; I2 d B$ [/ t2 k l3 p$silent:操作失败是否不提示 " U: k! g. ]8 X6 R7 l" W! v# ]
2 U# w3 L; s7 F, l$ l0 ^0 O2 B实例 ]/ K- ?2 i' A- y6 I
DB::insert('test_db',array(
) ~3 _9 z: Z* Y! s'name' => 'ppc', 7 d" R7 S& s' j# X8 K' B
),true,true); 4 B* ~3 n+ @! D" J: x5 e8 h
V1 m, C+ W- M9 k
数据表删除: 4 Z- r. t {" W$ f! _0 M" F9 N
方法: ; M5 g( {5 _4 N# W
DB::delete() , g* _( a: [0 S5 ]
参数: @& {$ E, D2 f9 i. x
$table:删除数据的表 " t1 V3 f; }2 V" _9 D+ g! k' d8 E
$condition:删除的条件 0 w% o1 z2 i# ?0 R. C! s4 a
$limit:删除满足条件的条目数
7 I. L1 ]4 t2 W- y" O2 D) `$unbufered:是否使用无缓存查询
/ @+ J ^. D/ ?
6 i8 K3 q( v$ q6 |实例: 4 p5 {: u x9 P
DB::delete('test_db','id>2',1,true);m , l- E* V1 o% n5 _& g
7 v. M1 [" T U. ?8 p
数据表更新:
8 ]4 H' K5 a) t; d方法: % f2 z# O4 X* w& D' Q
DB::update()
: A% P- J C E+ [- u. N) R1 K- e参数:
: B! S0 x. P9 u2 S. d. z$table:更新数据的表 9 A7 u- ]. i/ J: c; \7 C+ f
$data:更新的数据,字段对应值 2 A l$ H9 P5 M; L9 {/ b
$condition:更新的条件 , X5 M7 Q& v/ @& E# [7 k
$unbufered:是否使用无缓存查询
1 Z' L* P* |6 t, d( R$low_priority:是否采用无锁表更新
8 t& q0 N/ d8 i l) _) n' `$ C, e: c& E. R( u$ M4 Z% c. D3 @
数据表查询(单条): t0 |: N. L, n. c% C' R% R
方法: ; ]4 T4 ^3 e5 Y" l9 h/ b
DB::fetch_first() , k k- z) C( R( f$ @( v4 `
参数:
+ [% H* l8 t' |" B" t) J$sql:查询数据的SQL语句
# [% C# T( K6 b) k$arg:绑定查询的参数 3 ~3 O5 L; L+ \+ N/ @" Z# o
$silent:查询失败是否不提示
J3 ]' ]8 t: Q+ S+ h3 Z实例: ( B# e. {. U9 w; r
$id = $_GET['id']; 1 q7 }% Z1 Y' B3 L
DB::fetch_first('select * from %t where id=%d',array( 6 H m9 U4 R# @; P4 m! J
'test_db',$id
# M; \1 C: _. u/ ~)); 2 l, t, z1 y- g$ ]# ~* F
4 I. y% C7 J# m3 |2 x) H& ~) PDB::fetch_first('select * from %t where name=%s',array(
]# m$ j* g# L/ N9 ^9 N% B! l'test_db','ccc'
4 C3 n* i$ X/ g& @4 L$ L));
( s9 g, D6 j# d" _5 o
, O! O, U' N: S
) K2 T& [7 ~- A( d! g3 C
( t* k+ l# M* x% n% l数据表查询(多条):
. u7 X9 O: h0 {9 |. @1 z9 Z6 ^- T方法: - I" e/ D: H$ f
DB::fetch_all()
; k$ T% t x6 `/ `5 I6 k参数: # g) u/ i- o. [
$sql:查询数据的SQL语句
! M" ]4 S7 T1 g; j& T& V3 T8 O$arg:绑定查询的参数
) g3 F6 W* U8 _; A3 e3 Z2 g7 o7 `$keyfield:一维索引的字段名称
8 O& f! ?# m* ~- `$silent:查询失败是否不提示
/ t; l3 R1 ?/ E" E. [' F; ]: ]实例:
% |, V' l* l6 XDB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
, M7 _! Q; _; c8 H& w'test_db',7,10
2 H1 B( K0 G6 K3 j8 T) u, {)); * x; L) Q$ S; o; b
9 o/ d4 | e0 F4 b3 s2 O3 M& ]DB::fetch_all('select * from %t where id IN (%n)',array( ' }2 c/ r( }# r/ ?- r3 r
'test_db',array(1,2,3,4,5) 8 h h+ [) o! ^% q0 Z
)); 2 o8 ` q" H! r( h! f) ~
. `! j8 P3 _6 a# @
数据表查询(单字段) 常用于统计查询: ; w% T' U: m2 I/ u) [
方法: + D* Q7 ?- J" B9 b' L% r( d0 A
DB::result_first() ; J$ `2 {0 w) D/ [& h% ~, a
参数: 3 [% u" O W Q n
$sql:查询数据的SQL语句
+ Q1 q9 K" a- ]0 O' D$ ?7 H; C$arg:绑定查询的参数
" Y I" ]; V4 P6 m' ? E. M; h( x; w$silent:查询失败是否不提示
# |( Q+ k# b1 F8 q实例: 7 @. J3 q, [2 V8 ]* N8 g; P
DB::result_first('select name from %t where id=%d',array(
9 |+ C0 I. `3 s5 R+ z. ~'test_db',1
" t* D6 B- ^% O- O5 g/ o6 v));
8 _6 \; k/ f, P* @
) z9 r2 C2 q1 S* HDB::result_first('select max(id) from %t',array( / e! Z+ C7 z3 f6 L# ~" c
'test_db' - y0 @! I2 F& [. J+ J
));
4 P; E7 d: U8 {+ X% T9 ^! R! V0 _- t! m* Z1 J% U1 j
数据库自定义query 4 p: K2 R+ n: | d$ ~$ K& \
方法: 7 q. b; R* v2 i" ~, X4 S2 q L8 g
DB::query()
1 X7 o, ~( `* w5 E. a- A( ]参数:
1 F* J% u' a! l5 a1 k$sql:自定义SQL语句
5 f2 {$ N: R* [: `2 m( Q$arg:需要绑定的数据 9 _, Z7 C: e( P& S
$silent:执行SQL失败时,是否不提示
) Z) {$ u5 j% z6 y3 G$unbufered:是否使用无缓存查询 , S; o8 K" ]% U" D1 T. X H
实例:
) }, [, a" D9 j Z$ M* i( k$query = DB::query("select * from %t where id IN (%n)",array( * i5 `; r6 ~5 s- p! I% U4 w N8 x" A
'test_db',array(1,2,3)
: Y; U5 G# q4 B6 B$ |% E& a)); e3 Q# B1 @+ i; B% i
debug($query); : u% j4 L9 D9 ~0 x! v
. n+ ^( \6 I! \6 m
删除 9 w {/ N) y! j, s/ s- J. \
DB::query("delete from %t where id = %id",array( ; J9 ~3 C% K9 J. S! c2 R
'test_db',11 ! D) ]; B# F) y+ m% i
)); * h, T) |# {9 O7 ~. Y3 y2 ~
! v8 G. ?. ~+ ~
. L6 U; i* i9 Z* w5 r资源集转换结果集 3 C% H9 h2 }3 b; L
方法: 3 w C0 U) a8 D% x! C/ p
DB::fetch() 5 T8 Y/ r! l* n7 e2 {
参数: $ j2 B* |5 k7 G. I! ^1 @
$resourceid:数据库查询的query资源
( J$ ?; X( y0 S0 I: X- n7 u$type:数组类型
# E5 w/ i, r! V+ u" T/ s& p实例:
" ?% S6 O% o4 X" p9 J8 M: G查询 0 I6 x$ \7 O5 ]4 t$ A5 Y
$query = DB::query("select * from %t where id IN (%n)",array( ' g6 w* D8 a6 ~! e; D
'test_db',array(1,2,3)
6 ?( q( B" @; U& c4 u6 }6 P8 \& Z: r7 Z));
6 I8 V% f9 F- m6 P0 W* R/ ]) \/ lwhile($res = DB::fetch($query)){ ~9 [; |, g5 X5 T
$result[] = $res; 2 m) z- b0 H& V( s- Y
}
6 \2 R8 T2 U% c6 Z8 g; f2 Ydebug($query); ( l0 o v( Y& v1 H) G! G2 ]
! g9 E9 h' p I单字段资源集转换结果集(一般用于查看获取统计值) . F( F; `$ T3 A I
方法: 0 t9 q) @+ N1 k* @0 u u
DB::result()
$ n9 q! c3 j# N+ g; q7 C. |) j参数:
1 L8 a& Z' t' V4 m/ s* K5 V0 x$resourceid:数据库查询的query资源 1 J e: G- J+ D+ u- r, C$ J% V
$row:指定行的第一个字段 $ r% H9 r7 s$ s: ?8 D M
实例:
, L: @3 X7 l% V6 H" c$query = DB::query("select count(*) from %t where id < %id order by id",array(
1 Y6 M* X# Q% v+ Z, i'test_db',10 + C8 C1 w* |) J1 r/ o. @3 B" }, s
));
5 H5 \5 K- G4 z4 g) c. E$data = DB::result($query,1);
- g" ~ a# f- H" c- a9 C
" x# k. G# c) A& i& V" Q常用实例: 6 G9 g5 E8 N( w1 d# z# V9 Z7 q
$query = DB::query("select count(*) from %t where id > %d",array( + p- X- Q8 a; r+ s
'test_db',7
9 m' O3 _, J1 e% b6 x+ |/ W( `)); 2 s; O- ^. n0 z- v, O
$data = DB::result($query,0);
" p9 {1 O5 ~0 w- s8 @5 becho $data;
5 {4 X& y' A3 z, l6 h7 {+ ]: [" V8 T1 }
资源集行数计算(不适合统计太多的资源,速度慢)
9 Q( H; J' @, |* a* a. _. j3 [方法: : C) r$ e4 _: l+ F0 K3 i. G& O* X
DB::num_rows()
2 r8 b5 y; h7 X- { l, J参数:
$ q' _( Y% D, J4 Y' l5 ~$resourceid:数据库查询的query资源
: M/ H- P( N) W- w实例: / b) d( g3 p, w+ K+ R
$query = DB::query("select * from %t where id > %d",array(
; }- r; u/ N2 s) B) s, g8 X9 k'test_db',7
[6 t: A6 A; K$ _/ {0 N' Z)); 1 T: H3 T5 L/ @+ t: Z& V! {
$data = DB::num_rows($query);
; j8 L1 x5 ]; ^* cecho $data; $ x0 V1 h( [1 t# ]; W. ~
+ I7 X% D4 R3 F. D% s% g
资源集资源释放 5 e4 Z7 T/ m9 y- Q7 E" j
方法: / |, m' Y7 I# z1 j% g' w- h. u
DB::free_result() . b% v+ `* q; _$ A. o$ K* @$ w
参数: ( w/ K! ]( L; Y6 ^: x
$query:执行SQL语句的query资源
" G( Z$ u, D" ^2 |5 e% t" ?$query = DB::query("select count(*) from %t where id > %d",array(
, [: C( [2 b) m8 K4 Z$ V'test_db',7 : H# _& T/ D8 R, Z* D1 w$ A
)); + t5 k" i, I6 v0 ?3 x6 K: _- r1 T
$data = DB::result($query,0);
' a+ f+ g4 m: _% X8 FDB::free_result($query);
) m+ ]) T, R. e4 l, Eecho $data;
8 g2 C6 k; u. y. M8 ]. q* Y# R. ~/ @$ L6 z9 m- K
按字段排序 6 x! J$ @- U; g6 Z
方法:
+ n" b3 y! {1 ] E7 [1 t2 cDB:  rder()
2 k) h- p( Y9 w, D4 T' R' t参数: 6 U5 `' Y: _ `
$field:需要排序的字段 8 K! ^9 h/ L r5 l% t5 O& R
$order:排序方式
- }* c, [1 c# h( U0 C$ L实例:
# u6 F, M2 _2 b% r, i! w4 i u7 g2 L( x$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( 3 O5 X4 e5 Y( \" [" }
'test_db',7 , p- U8 ]! ^. n! g& W
)); " j( f, i/ c$ m) U" w% ]
$data = DB::result($query,0); / F5 d3 G4 O f: q- v
DB::free_result($query); & Q6 `0 I) A3 M1 P4 x% J' g+ R
echo $data; ! h9 }) @5 ~' B: Q, e8 G
$ w( s( S2 ^3 Z0 |1 ?8 j7 `, |
取值区间设定 5 P8 F9 f4 J& [' q5 z4 a
方法:
7 @/ N1 i& f# _DB::query()
2 M7 i$ }( p5 a5 A5 d7 ]参数: , C; j+ t9 |) x. D4 \
$start:开始的索引值 & Q) F/ H0 t% `% ]& C2 \
$limit:条目数
% ~! }( _1 r0 Q' A% @9 E- }: Y$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array( 9 W5 P1 u+ k9 @/ r: _4 L
'test_db',7
1 Z* u# U+ x! T));
, z R& ]7 Y# H) L! Z
. s( L E3 o. q8 B H, B# R字段拼接 ) l0 M0 B4 \+ W% i
方法: : l7 ?- F+ L) \5 W x6 {
DB::implode() / f4 u3 s- d+ B+ R" b- y8 M3 F
参数:
1 [% b7 E. d2 ^- T0 L" t$array:需要拼接的字段数组 + Q3 T3 Z8 b8 c: \* i+ f
$glue:字段拼接的字符串
4 h$ z t. M" |* V1 I% b0 S8 i实例:
# P) a) P) p% `6 Becho DB::implode(array('id' => 10,'name' => 'ddd'),'and'); 0 v# r4 Z- d! \$ ^
* }& A$ t, @4 q应用: 4 `. R1 b+ P: x1 ~- i5 o
DB::query("update %t set".DB::implode(array(
5 u1 Q7 B' y5 ^+ J+ m% u'name' => 'ddd',
8 P0 K& Y7 D1 J'id' => 22
: w; G H, @7 Y6 f" j3 y)).'where id=%d',array(
5 X6 G7 F4 [' r& U'test_db', 2 f/ \& r( M/ O4 d* E* X, |) E
10, 2 q. p. q1 I, D( e& p
) % Q9 a: Q5 J) a* G
); % }2 g1 z4 x; O D; k
% }; d& A& r6 {2 k
字段数据设定
; O: \/ u3 P; \, i0 c( \) S8 R, M方法:
4 W. \) @0 Y: k; Q" EDB::field() $ [9 K+ b; {6 S9 T' w {7 q
参数: " Y$ x" S1 s9 l, s, w8 Z, p' w
$field:需要排序的字段
' T5 R" ^. A; [3 y$val:字段对应的值 8 T, W, H) X. E7 d9 x1 F
$glue:连接字段与值的类型
' [. H0 l; \& j: ]5 |实例:
+ ~6 J& s$ e. [- T$ HDB::field('id', 99, '='); 3 V( @. |7 u& l9 G. ~( H
1 k: r% I1 ?. X4 {
应用(把3改成99):
0 f, N0 m; ]" n& b5 g) z4 ZDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array( ' ^; {; W k3 w6 r$ z4 D# C: v
array('test_db', 3); & Q+ w8 v$ [: L7 h: m3 ?9 B* C
));
( R& S6 [' b% L$ z+ K
|
|