数据表插入:
( ` b1 e/ I; t7 e% e2 ]方法:
5 }: Z J* w6 XDB::insert()
, N* c) ] N) Z2 N/ V) B; ^; W/ z参数: ( z. W$ U* F- i0 c& p
$table:插入数据的表
& b( d3 Y6 {4 i( m! w( T/ r$data:插入的数据,字段对应值 . E$ ]: v; G$ N. `
$return_insert_id:是否返回插入数据的ID 0 Q, @! K+ q* u& S; u' }) W
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
( b" E) o) P0 Z$silent:操作失败是否不提示 ( i9 ~/ i# L* a! ?- |0 [5 b
5 ^5 q y5 W2 d' z0 V' `
实例
8 f# t3 A" _, q& ~$ k1 gDB::insert('test_db',array( 3 x; t) }' Z4 ~
'name' => 'ppc', 6 w3 W. G* t3 D' |" D. _; j
),true,true); 8 O& g4 K0 Q" f) G( x, f
- |% w1 ~1 p' t) L
数据表删除: ( N# C5 f! f+ K+ n( e
方法: ( E# w) c% b& X0 z: N. C
DB::delete() ( u9 Y0 T6 Z9 T7 Z' A- ?
参数: , `/ O3 ]5 h+ a+ G5 D
$table:删除数据的表
, A) _1 C$ n" W; {* A$condition:删除的条件 " D5 \6 |7 M& ^# W- o
$limit:删除满足条件的条目数
( g, z1 f2 q" e- Z" ^4 j) Z9 V$unbufered:是否使用无缓存查询 0 }* F( a1 h8 J' C$ g1 l
4 N$ w1 a5 V/ l# x( C- ~
实例:
( P0 x) f3 p5 s3 m/ M! K- l* JDB::delete('test_db','id>2',1,true);m : \0 v5 M+ q! F; a1 s4 D
# g; j9 t7 I, A- C% G4 G数据表更新:
7 N4 k1 o' F- x4 ?方法: Z6 o! Z( J9 N% q; p9 J& W
DB::update()
8 {8 V! r! t2 L4 M参数:
: _4 k, ~0 G" R# o$table:更新数据的表
9 x0 G2 a; ?& \' ^5 _" D; ^$data:更新的数据,字段对应值
! a4 q$ d+ x* B' F" p$condition:更新的条件
% H# }1 X o( C+ Q) X, {+ O1 ?$unbufered:是否使用无缓存查询
0 f: T2 j, K7 N$low_priority:是否采用无锁表更新 & Q2 C% u4 G( E ]* J: \3 U
5 J$ o/ {, Q1 O4 [! @
数据表查询(单条):
/ S2 x! u# T* x, a- k方法: 0 s/ v4 F# E/ m' ?* ^
DB::fetch_first()
9 o" A6 @3 e/ e9 E+ u1 J参数: ( H; ~' l9 Q9 `+ N# q2 y1 d5 V
$sql:查询数据的SQL语句 ; q: u9 j4 t- D3 m7 B% v
$arg:绑定查询的参数 ) P, o! z2 R, \, q
$silent:查询失败是否不提示
. D9 k, C$ A( T! r实例:
" i# y! Y" K4 m7 V5 [! G$id = $_GET['id']; ) X% D5 z8 Z" H4 C+ D T
DB::fetch_first('select * from %t where id=%d',array( 3 j" [3 m. E. A6 \4 P
'test_db',$id
4 i6 k* D; j; f/ ^. w9 C! _9 {0 B)); , Q& i5 h3 h6 o9 a
) n6 h2 g' ?- p; F% H. oDB::fetch_first('select * from %t where name=%s',array( " W% G: y& J; ?2 t
'test_db','ccc'
& Q7 b! {' d K, W/ D));
0 L9 |4 D2 H6 x8 D
0 d3 Z4 T% L0 R* G# R# U; N* D# k$ [* m- ~9 W2 P# K
/ d1 \( N) R" B( |( l数据表查询(多条):
! w5 r( C/ B; {0 l方法:
* W, d9 ^0 Z2 u1 }" v5 V7 HDB::fetch_all() % n5 T/ I/ A6 T# \2 ?: c+ c" s
参数:
; n4 |- f" A* a' Q- A) p6 R7 O5 u$sql:查询数据的SQL语句
: |$ E& L0 u. y+ F7 _ N$arg:绑定查询的参数 6 Y6 }+ A$ k3 O4 x3 s4 W) K0 M4 H
$keyfield:一维索引的字段名称 : D- V( g0 U8 G
$silent:查询失败是否不提示
! K. Q9 J% x# N$ F4 a实例: 1 b& R1 G2 M, H7 ^* a1 L
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
* h0 Z0 h$ l5 j$ @ b, m' V5 Q3 q'test_db',7,10 4 F5 g/ D. R; O" \# Q
));
$ q& `" R. _( P: j5 ], L- w6 C/ [6 b! p. a/ M$ T: L8 M* _& @
DB::fetch_all('select * from %t where id IN (%n)',array(
7 r o O0 J- }! Z0 G'test_db',array(1,2,3,4,5) * X2 C" d( h! k1 U" m7 C8 e
)); 1 T+ @. s$ j1 j0 Y* D5 z4 h
5 o8 W% ~/ L) C5 T2 |
数据表查询(单字段) 常用于统计查询: 3 |' b9 n, }- S0 ?0 f
方法: 3 ]" u) J; h# B! z/ u6 B
DB::result_first()
6 |5 l, C2 e- t" a! p, i参数:
" ^1 D* F# h0 l- v" i1 a$sql:查询数据的SQL语句 ! j' j3 S# W9 z) }
$arg:绑定查询的参数 3 x9 t- c' \8 C, ~* ~- R0 n
$silent:查询失败是否不提示 ( x' Q( W' U8 s$ r5 j# h0 m
实例:
9 x& o! }% |" T1 z/ y. mDB::result_first('select name from %t where id=%d',array( % S- U& d; I0 S8 U
'test_db',1 Y/ q V: ?8 X/ T- K
));
6 c+ E7 l7 j" o7 y6 }' m
, k' a9 v' f6 [; _ U: u6 ]DB::result_first('select max(id) from %t',array(
" M2 ^7 R% z# @$ i# }'test_db'
, ?7 y+ K% M |# A* y- R- \)); ' n2 r1 U( U u$ S! m; L9 F% S
q. e2 L3 P0 p! b$ d. n3 r$ k数据库自定义query
: W1 f, W( a, K# n0 i) f# N/ Q. C+ l方法: 2 g" X) T \* ~' K
DB::query() 8 K) H# j3 p: d. f) @2 q8 b
参数:
/ v" C r8 |+ i$ @9 ^, |$sql:自定义SQL语句
" X; l- D9 c* o6 _$arg:需要绑定的数据
6 z5 z+ s. Y+ U9 R3 O$silent:执行SQL失败时,是否不提示 # v$ f* L+ Y& |
$unbufered:是否使用无缓存查询
7 s% @, P7 u1 e. x实例:
5 V5 s! p& [% \& r$query = DB::query("select * from %t where id IN (%n)",array(
$ C" J5 @: ]" w* m- q r9 X Y$ _5 @+ o' T'test_db',array(1,2,3)
; |5 |( h1 X9 f2 L2 Z2 r));
' C0 {0 A% X' pdebug($query); + c' D: K2 d+ t0 _, N) R% K$ Q
' z$ o# ?8 v5 L `$ L4 R# \删除 ) ~/ ]& F7 J, u+ d- r2 a
DB::query("delete from %t where id = %id",array( & q% N- Q- Y Y0 t0 i$ }6 v: g+ l
'test_db',11 ! S! n0 k, \& d3 u
)); 6 i N# ?: e5 t: n
/ A. x$ \- C" O/ v' B8 u
- |# k% l2 k Q/ c- F# m
资源集转换结果集
4 s# `$ J2 _+ Z% g) c2 W c方法:
2 ]( j, }* N8 O# b) y% LDB::fetch()
) Q$ J$ A% L* C4 C1 A5 u" T; X参数: 5 g) q2 q x7 Q& O$ P9 W1 l
$resourceid:数据库查询的query资源 . x4 I G/ P+ {& [5 J8 l! _) L# d( g v
$type:数组类型 ; y0 A6 L# u* d+ `8 L0 ] \5 V
实例: 6 o& }+ \) I$ S* J/ u- O
查询
2 S5 F! {2 _# E$query = DB::query("select * from %t where id IN (%n)",array( 3 m6 P. M* s0 |+ r5 v
'test_db',array(1,2,3)
4 c# d' j# `; A9 B3 C4 S5 i)); # O* r, S( a) V9 ~, x: Q& [
while($res = DB::fetch($query)){ 0 C7 r# M$ c5 n. v
$result[] = $res; 4 f, p' r. v9 {8 T* ]! q
}
# y; D8 y& w! ]! M7 @debug($query);
6 C( { a! S; T6 R; z) T
& ]! k6 G$ m& Z% x# r2 b# ^' p: k单字段资源集转换结果集(一般用于查看获取统计值)
; \$ e: b- x4 t" [1 `# P' t& E) S方法: : e6 f* M* X; Y
DB::result()
' i* L2 ]5 a5 c$ p( ^$ \ f参数: ) f0 I* }3 V( N% C, g" K
$resourceid:数据库查询的query资源 ' R: r- ^ b* w! d4 x, `
$row:指定行的第一个字段 / a0 A, ]1 V+ y
实例:
4 ~8 [! Q8 D+ p$query = DB::query("select count(*) from %t where id < %id order by id",array(
! r/ I- B$ I- y2 n5 ~4 W8 z'test_db',10 3 n3 U ?/ a2 K0 Y7 e
)); 8 Z L' Z6 K8 Z7 S* F/ Z
$data = DB::result($query,1); ( x" W0 N E1 Y' d% E3 j
, Y9 K! l# A9 f6 K
常用实例:
9 E* X# T: y! x! q9 T" R$query = DB::query("select count(*) from %t where id > %d",array( & V& w R1 l. _
'test_db',7
% b1 \* _+ O& n' w# J) X# l4 G)); : h1 ^) J5 J6 Z% U+ J
$data = DB::result($query,0); - D3 o6 X0 Y- g* D9 D
echo $data; " p3 x2 z' j+ i" L3 m& q/ C1 l
) W8 F( [1 P' Z R, i: P% g资源集行数计算(不适合统计太多的资源,速度慢) ( ]1 g0 T! s+ w& b, `6 N$ l
方法: # S9 S% O0 f$ l* b! a( I. t
DB::num_rows()
, Y$ o; c3 g; e8 {参数: ( X8 O. T9 @8 q* w" w( h8 t- s) x* Y
$resourceid:数据库查询的query资源 , x: y% Z7 i" W
实例: / b: U8 }# c: z$ C7 ~5 v6 a
$query = DB::query("select * from %t where id > %d",array(
- L4 o8 { r' k' z'test_db',7 6 h( H9 R& e& k# a g7 A7 ]
));
* I9 j$ `, Y- j1 D) e0 D$data = DB::num_rows($query);
. F7 m2 s( E: Z- H8 iecho $data; : B* _$ m) x' v1 Y, @! k
; c. l+ E, W2 j3 M3 _$ n; J
资源集资源释放
6 F* C. L7 o- L/ v% {: W方法:
# g7 s9 \; r* o+ `5 @4 W2 vDB::free_result()
' ]& P" H5 e. t0 ?参数: ; r2 Y% C5 C! c- Z2 ?' h( C7 C' @
$query:执行SQL语句的query资源 2 L; j) h8 s/ a: B5 n2 o
$query = DB::query("select count(*) from %t where id > %d",array( ! d( L7 q# T1 w) h
'test_db',7 * J" r- O2 H2 Q' h3 k7 S$ P
)); 3 } K1 _+ u( g: C/ J0 F, |6 F) J5 L
$data = DB::result($query,0); 3 P5 }3 M/ \- w" X
DB::free_result($query); 4 H/ }$ Q! ^# b* p
echo $data; # e, `- U# C) t" i
/ l4 Z0 O1 s" E# G& _4 i* @按字段排序
! W# G! B9 K1 {' c! r6 r1 m# o方法: 1 v0 o- u1 k3 O, D
DB:  rder()
9 @. Y; p: N5 t( e( v参数:
2 r. z, N/ c( @9 S4 ~$field:需要排序的字段 + O/ m: b l/ |) H
$order:排序方式
Y+ s5 h5 d# p" K, m0 l实例: ( [: A+ Q! _4 z1 _4 G ]
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( 1 C6 x* G' n8 H, k: h, }' ?
'test_db',7
& A6 g" _! w- C- r+ d% V));
1 f6 w6 i/ E7 R. J% O$data = DB::result($query,0); + d% @+ o! n) p% e5 v9 k
DB::free_result($query);
. v1 R c2 j" c7 h3 n) Kecho $data;
3 P8 W7 `1 C) ]1 h- M: ^
?. V8 x8 `. ?3 r2 N c9 m0 P取值区间设定
3 X1 L1 p( d) S" n, G方法:
( x8 w. r! F1 |- E# O1 ^, gDB::query()
- o% P" O P @参数:
* h6 B; N( K% k. L- k, b$start:开始的索引值 3 {' K3 O( \7 G' N) n8 h3 x
$limit:条目数
4 f/ F& E- R- y. f' B$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
. ?. \; q/ [0 s3 S'test_db',7
% |( m3 p4 u8 f" j1 x& b)); & D% p8 ` c; Y
7 t1 ~& V( B k: `9 y+ s3 L字段拼接 * Z. z* Z9 n+ v- e9 R
方法: ) q: }! W: ~: \
DB::implode()
$ J+ M7 o! G* d% n$ ]. R参数: 4 n$ U% W4 y- p9 A) Z
$array:需要拼接的字段数组 3 F3 U& @( N9 `! y2 O# M
$glue:字段拼接的字符串
/ A6 v8 e2 R6 r0 [) I; k实例: ) {7 ^' K* B8 [% C
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
Q# Z8 H6 `; Y- g
: U7 @- k3 p1 f$ g应用: 3 P# S; d- ~' A+ d0 B1 J/ G0 ~
DB::query("update %t set".DB::implode(array(
2 B$ T; p7 H! `+ l4 Y1 b9 x'name' => 'ddd', 5 N1 y, \3 h9 l7 r! Z
'id' => 22 " s/ D P$ h. f
)).'where id=%d',array( L. W c- \; C% ~ a# U
'test_db', * a0 H" @2 z+ q7 H" G
10,
* l! c! R; i3 ]0 C. @3 W( J2 P) ) ~% X+ [1 V7 C. C
);
/ G7 H0 _2 H# ~9 r" i" j6 O$ h6 ^% G6 M
字段数据设定
2 R; \: p- h8 U7 k方法: # V: |; h, x6 B, _3 V& @
DB::field()
( P: a9 i) v# z4 d% d$ V参数: - N3 ^1 }, C( [6 d) q0 z7 F- w; f
$field:需要排序的字段
& b: p8 Y# U( R) `: c ~$val:字段对应的值
% @8 g$ `4 h% X/ V$ ^$glue:连接字段与值的类型
6 ^3 G8 h2 o: J$ g X实例:
; o# ~" _, c; k d0 m/ n2 P4 z: WDB::field('id', 99, '=');
. @# G6 m3 g& M* h& _
; N; [* b+ u! X* d# e) s应用(把3改成99):
) k0 o \. J3 T2 kDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
: T% L' { E3 p9 ^9 L) d9 F6 h9 |* `array('test_db', 3);
! K5 R6 a; ?. w) m4 J. e3 j! o));
! L6 y8 K$ }6 f1 O1 r. q! K
|
|