数据表插入: " ]$ ^$ ?, J7 \" d# L2 H2 ?& n' e
方法:
1 R/ w/ Q# L$ u( r+ I$ E5 D CDB::insert()
& w+ y# `4 f& M参数: , c* Z# E5 E! I; U) I( G4 E
$table:插入数据的表 ! X" Q" z7 k! a
$data:插入的数据,字段对应值
, p/ Q- k9 B7 L$return_insert_id:是否返回插入数据的ID 5 ]2 R6 |6 G$ S# Z6 ?" R8 a7 m' Z
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新) ; H8 r$ }! d' Q+ s0 I2 S
$silent:操作失败是否不提示 8 h$ F" w* a% S
X$ B. ?7 j/ R7 L实例
7 ~' T9 s( F4 qDB::insert('test_db',array(
( S; |+ P! e' a; X2 w. S'name' => 'ppc', ; O$ Z; K$ ^, g- d
),true,true);
. n. l; \ R# Z! y
6 Q" k! d/ f }: w4 |数据表删除: 7 o, C+ r" o* M! s
方法:
5 B# _& `2 o* ]DB::delete() & M1 z& n% Z3 i0 o# q& j
参数: ! s8 v6 g& m( M* F4 ^
$table:删除数据的表 . @" p& j6 r2 p
$condition:删除的条件 ' D( ~& U' @3 W& e. z' n( |- _
$limit:删除满足条件的条目数 ) R: Y3 z& [$ f, E3 Q& \7 j
$unbufered:是否使用无缓存查询 8 v* O& N$ i8 j6 t5 Q, ]) h
+ {7 m% R: s, p实例:
9 _' r+ k7 Z9 fDB::delete('test_db','id>2',1,true);m
# m6 t4 x v- D5 b2 t- p& k+ m9 @7 A8 Q+ q
数据表更新: , {2 M2 ?( P3 O" {. W3 X
方法:
% z; d' f" C& q5 ~6 |, l( cDB::update() ( \# {7 ?, y* r' X. {) F
参数:
# g. q: B, l0 j+ \2 i6 _$table:更新数据的表
5 U5 U# \+ W5 E$ O: E' t$data:更新的数据,字段对应值
3 ?4 D! C+ @ l) b# g$condition:更新的条件 $ W% C: {; k2 J- a$ L& J8 S
$unbufered:是否使用无缓存查询
( u4 p3 X* r% W8 m9 b) | V$low_priority:是否采用无锁表更新 ) w4 }; u m# G% t$ _& S
" \! V i$ ~; l& `# ?
数据表查询(单条):
O( B. b* Y; y方法: ' g, C/ i- k9 F7 M- j1 [7 Y: m" ?
DB::fetch_first() - \) j' z& m$ E( K/ `( K) i6 c
参数:
: z: d, G* d' I. `: Z$sql:查询数据的SQL语句 8 T2 ~: T. {/ `) @9 Y, P G
$arg:绑定查询的参数 # i5 `7 t2 P/ i2 a) y/ c6 [
$silent:查询失败是否不提示
8 G t8 J, X2 z. N0 k! m实例:
: p% `3 R) z7 z$ |5 r$id = $_GET['id'];
. c+ b3 p5 s; _6 x8 Z; G* \+ yDB::fetch_first('select * from %t where id=%d',array(
$ X M; u) c$ L8 o'test_db',$id ; r% D i0 k* X/ [: G( G2 ]4 C. D
));
4 _6 z6 }; Q/ Z) P" ?+ e
: g2 t* P, c% r; G4 p$ RDB::fetch_first('select * from %t where name=%s',array(
+ f, v j0 e/ u5 u v'test_db','ccc'
& u; g: D. T; U8 j$ P- v));
# R1 n/ O8 Q; X$ Y. y( S5 ^- C1 H3 F' @# L& R$ [& o" F
5 \& ], }: `1 `4 J7 f8 l
/ v( y V; V; ?8 m+ }# H+ ^数据表查询(多条): - ~, A$ _/ W. e) @3 p0 S# g3 G( k
方法: / x1 J' \, J! f. z5 u0 B* y* ^
DB::fetch_all()
* j2 J" m q9 c参数: 7 h$ y, S' Z9 f4 s
$sql:查询数据的SQL语句
9 [/ |# N+ O1 \$arg:绑定查询的参数 ! ]2 M6 ]1 b1 r: u
$keyfield:一维索引的字段名称
U/ a0 \ P8 u7 C& h5 S, y% n+ `$silent:查询失败是否不提示 # o& o1 `; I+ x
实例:
* Z* o" s s4 z/ o! v$ FDB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
2 h: Z$ x4 k" U# j'test_db',7,10
" a6 ? T- J y8 C6 S% v));
3 l8 t! i) ^# v% W! c: @
[; z2 [+ d, Y9 z: D k, nDB::fetch_all('select * from %t where id IN (%n)',array(
^' c) X/ Y- j( ]" C6 \+ N'test_db',array(1,2,3,4,5) - `4 A. A7 g% n' v) R* g
)); 0 o) f% h+ _' Y' C! V
9 o! D0 Z# J; J) C7 X+ U2 v数据表查询(单字段) 常用于统计查询: $ ]& _( d2 @! p. Z5 T. G1 y
方法: 3 t2 v/ \ R, J$ `" k/ K9 h# x$ p
DB::result_first()
t( u' e' E9 ~: C+ J- ]参数:
9 \) |8 G/ x" C5 I$sql:查询数据的SQL语句
( V! D# O. o4 E2 D$arg:绑定查询的参数
0 u3 r" \4 S5 D6 G$silent:查询失败是否不提示 ; Q0 y3 k: V! p: {! R& I6 U x
实例: - a* J3 S+ k2 j% \
DB::result_first('select name from %t where id=%d',array( " o% g9 b# t; e: ?+ R8 X
'test_db',1 " z3 D: d1 ~: B
)); ' U k" P, n& j6 \9 A
6 A* _8 n' v/ ?, u' P* ~7 `DB::result_first('select max(id) from %t',array( $ U6 y$ @/ h1 F" `$ d; Y
'test_db'
3 p- { o) E( g9 r- ~* U9 K0 r)); 2 ~3 g& R4 W, r0 i9 A% t
( E1 H6 s$ F% ?# d
数据库自定义query 1 ?3 s) T3 ^6 h8 G$ k
方法:
$ ?+ O2 p+ p6 `; X6 EDB::query()
- m3 } x. K( @. x5 k3 Z& D参数: * U! f3 T4 j) s- z, S
$sql:自定义SQL语句
$ I9 N; B- I4 ?! I6 S. f$ z, j$arg:需要绑定的数据
7 |3 Z+ p) W& s! ^' b$silent:执行SQL失败时,是否不提示
7 d0 K# ?; ]' X% Q3 Q$unbufered:是否使用无缓存查询 " {- Z2 \4 c y* y3 W
实例: : `- G, {( f0 o: p
$query = DB::query("select * from %t where id IN (%n)",array( 8 r' O# F- s3 z k5 \7 Z2 ~% A$ a
'test_db',array(1,2,3)
5 H' U3 p4 u! D5 P)); Q. d0 e# B9 q
debug($query);
& j, w/ `& h, \: ]1 f
' c8 J% X" M2 J* N) t删除
! ?+ t2 z$ G( h$ hDB::query("delete from %t where id = %id",array(
# \+ a7 p3 d. J2 p6 A# I! G'test_db',11
; K. h3 t$ | D: P& |)); $ F' Z+ _/ f; ]- T
- K( N }( m9 k/ n* x7 o6 t. X* [& v
! o& U9 n4 |& G
资源集转换结果集 6 K6 f+ T5 }8 {+ Q) m7 J/ n
方法:
! T$ y/ v$ u+ C1 @" HDB::fetch() 0 V2 w, c7 S2 J# j+ v, ?+ O
参数: * f( V {% O% t' z* Q
$resourceid:数据库查询的query资源 2 N2 W2 s% @6 O# V" {
$type:数组类型
. P9 I3 O) P& e2 U+ O* j2 y实例:
7 e9 V# U' i3 l查询
- U0 _+ T4 L4 x6 x0 s5 F$query = DB::query("select * from %t where id IN (%n)",array( . R: J k* ?' V7 A1 D; f
'test_db',array(1,2,3)
3 O7 a, {& X- ?! w$ F)); F S Q p' ~" \
while($res = DB::fetch($query)){ 4 j4 k& \) ^# _
$result[] = $res; , R# A/ Q& U: Q5 l K% T
}
& J9 `9 m+ Q+ Y6 ]# u) l: ]debug($query);
9 T8 ~/ W& f! {% [: Z; W
; o. ^3 F7 N$ p$ W单字段资源集转换结果集(一般用于查看获取统计值)
, q- p4 R) M4 ^ N3 U$ X方法: ) x6 [ Q# {" m3 \ G8 X! y% b1 u
DB::result() ( q' g4 Z+ A# r# v3 A$ b- {
参数: : d+ q7 t, @& n& N3 I6 I s
$resourceid:数据库查询的query资源 ) x+ N% `" D5 m0 {( U: E0 w
$row:指定行的第一个字段 M" p" P% a0 \5 Y! i, e" w# ~
实例: : Q4 Y2 H4 d4 b% P1 N
$query = DB::query("select count(*) from %t where id < %id order by id",array( ( m( I9 E8 @. @7 j- ]+ B9 I2 M
'test_db',10
. H8 B. p6 _9 ~) o));
, v: M+ X3 R ?- y$data = DB::result($query,1); . \+ c# b' ^4 y
+ b2 j6 S9 m* J$ p% n1 A
常用实例: . x; m4 X9 z3 ^5 e/ u
$query = DB::query("select count(*) from %t where id > %d",array( # T: y. H* F9 a3 g' [- A/ N& r
'test_db',7 ) O8 g8 Z1 s8 ^, B
));
. i8 t4 }- P: x* ^' {$data = DB::result($query,0);
# h. m, _* Z/ zecho $data;
2 n5 s3 L' I. w: m6 c; E6 C8 A
' D* m c0 z7 t! [- y) I- N资源集行数计算(不适合统计太多的资源,速度慢)
* B7 W- A* `3 Q4 [# ?8 r* |7 Y$ e/ {方法: 6 M% _) M, {+ g5 ^. ~6 w3 }
DB::num_rows() $ n' N9 Q) i c# e4 ^
参数: 3 U" v. u& {+ o& C$ g
$resourceid:数据库查询的query资源
B- ~1 I: h3 u4 Q实例: , v0 Y0 r+ i: f4 ? c$ L1 Z
$query = DB::query("select * from %t where id > %d",array(
Q/ v1 o$ D: Q6 ]6 ^+ U'test_db',7 ' m! _5 k6 ]5 h R2 i
)); 2 h& C6 ~% g k; f& p* |( E
$data = DB::num_rows($query); ; P8 Y# U* i0 t; v7 ^
echo $data; & |" x4 B9 [% L! u1 a
6 h8 [7 t6 k% b9 ]资源集资源释放
0 H/ G, B X% y. g. q6 j1 y; n方法: 2 y" ~6 Y& M) C
DB::free_result() % R; h7 P8 |" E9 b# z
参数: * {; [2 I, s+ _: @
$query:执行SQL语句的query资源
) _" h" W8 V. x& Z, i$query = DB::query("select count(*) from %t where id > %d",array(
7 c) h. _, i/ l+ h0 J'test_db',7 # Y0 _- y, H: T4 f# S3 Z
));
) D5 I% b o+ Y1 W* j2 F# U$data = DB::result($query,0);
* l8 D/ k# }) }2 ^DB::free_result($query);
: d; N* Q2 w. _% y9 becho $data;
4 L! F3 l+ S5 H4 u5 v* B; k0 k! l8 s% |5 n8 ~2 \5 z7 p
按字段排序
( b' A4 ?; V* {0 v Z方法: ( x+ C: T5 H$ S* S+ d' J
DB:  rder()
% b3 [' x* a" f5 O, B) ~参数: # x! Y* s2 f+ v! Q
$field:需要排序的字段 " A% p) _ C/ Q
$order:排序方式
/ D- O) ~: F8 d' S0 `/ A/ b" ~4 Q* p实例:
% M% c% d( ^) L s9 ^" `0 | M$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array(
9 M& r% ^8 \5 T# ?'test_db',7
7 j }' {3 w5 ^! _2 X));
4 N" \1 O G7 b$ X) ~$data = DB::result($query,0); ! S/ O: x% C$ F8 p; J9 W' ^1 ?6 x
DB::free_result($query); ( b! m" I* h. m8 d6 E+ k
echo $data; 9 s8 m- x+ M: u! P" b
; y; u+ F. g m% ` l- v* `6 F0 j4 U# A
取值区间设定 7 y* |1 W: e, }, f* F8 I
方法: * P# e& O) _: B2 ?7 g! j
DB::query() / t8 H5 m9 V9 F6 E
参数:
& A4 N) }9 f P" s! [! p: Z$start:开始的索引值 ; J4 e2 U0 d" g5 A# F, @
$limit:条目数
& z$ H( |: g2 S8 P$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
) O/ F' h0 i9 U- u9 \2 O'test_db',7 2 ]$ W# X& t0 O. E
));
/ u. k1 e+ e$ s4 v4 g' F
i# o- R5 Z3 l- F5 B- x字段拼接
4 h! ~( S9 o9 g$ z3 Y% A方法: ; Z9 Q* j: o! e% X2 T! B7 a0 w! C
DB::implode()
7 y( P; @/ c* b6 z( E参数: 9 Z5 Z9 V6 u& J8 x
$array:需要拼接的字段数组
9 [' B* C- Z0 M# f$glue:字段拼接的字符串
Z* D' r3 J& q6 Z3 C实例:
1 ?8 U4 _5 |, z) s. aecho DB::implode(array('id' => 10,'name' => 'ddd'),'and');
7 S, Y+ x8 J- k% Z$ u0 O1 Q8 \6 `# w1 V3 c3 E! V6 U& K
应用: ' J: @( { p+ [: `! c! j4 n A
DB::query("update %t set".DB::implode(array( - i# g; |: Q- n4 |- g( h; w
'name' => 'ddd',
9 L6 y, g9 V, P* ]'id' => 22
+ l; K3 w* p2 r# |)).'where id=%d',array(
" a. z2 [ @6 u: V# w" S'test_db', " ?, Q. h v7 ^+ K) |0 g
10,
: f# `* a: M! _6 E- c: N) & f$ f i9 h0 k4 N. L' T/ t* l) s
); : l1 F7 f: R- X- a
/ S4 j$ I, [& B* i, S2 J
字段数据设定 . g0 ?6 Y9 Q3 W5 h" y) ^
方法:
4 _! g( D7 _0 Z i+ GDB::field()
3 @! E' l5 y9 U$ j2 b参数: 8 G: B6 _3 F4 u/ `, b5 c
$field:需要排序的字段 , s; m3 W" E$ u+ O; K1 k9 K
$val:字段对应的值 ' @" s$ V' r, |! C+ B5 a" T
$glue:连接字段与值的类型
" W4 U, Q, m7 {, ~3 Z实例: 8 C. ~7 p5 t n# E- L8 Y: a
DB::field('id', 99, '='); ( W: l( k7 O4 q# E
( H& ?$ `# G2 b
应用(把3改成99):
; h! Q7 u4 m X# k0 A1 wDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
" W/ ~8 K" ?. iarray('test_db', 3); 7 x4 {; `6 l* o' Z
));
2 Q/ J9 D: I+ n/ h5 t
|
|