数据表插入:
g# ^# i. y" q* Z* ]# e/ J方法:
2 h8 G, h, h ?7 ^! S% k8 X8 d, [DB::insert()
/ T! ?8 S% h7 P, Y9 Z8 ^/ P* w参数:
1 C* C$ n% l, P/ O% J7 D: ?; q4 c$table:插入数据的表 7 O" w3 Z: V% i0 A) `# t1 i
$data:插入的数据,字段对应值
! r! x) V( ^- V9 C6 _) m$return_insert_id:是否返回插入数据的ID 1 b L+ h0 ]6 f: M
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
6 I- W2 R. Y- D3 N4 l$silent:操作失败是否不提示
1 M+ ]5 L# J1 {' \
1 l3 Y0 O7 N; g1 G G7 z( b% w实例
; M5 ?. w$ J# T, KDB::insert('test_db',array(
/ Y. Q0 X' i5 ?% P) V: ~* A'name' => 'ppc', ( K. E$ T3 } J: ]
),true,true); 8 t: ^8 h+ ]" @5 t7 K0 t: _0 K! ~( L
8 ]4 @, F0 e3 Q% C! T+ [, P! g, Z. l4 A数据表删除:
# k% ]& T. ~9 v) q方法:
! P# i( t7 u3 tDB::delete()
+ V# R. Y6 P7 k1 ^& }8 }参数:
$ I7 s" h" y2 F$table:删除数据的表 ( k$ [7 F. A9 ~' }
$condition:删除的条件
% K7 [* W8 h# H, S _$limit:删除满足条件的条目数
% ~" d+ @2 Y2 e$unbufered:是否使用无缓存查询 ' r% V9 R# C0 @+ n2 O% _! K' {( ?
+ X6 Z2 @# \0 _3 s V实例:
- _8 I0 b3 x2 U6 H/ z( N9 Y2 WDB::delete('test_db','id>2',1,true);m ! z3 Q0 B$ K! G/ f
/ R/ @. i) `" ?4 g8 W; V, N, S
数据表更新: 0 P$ i. z! w- q" d7 D7 U
方法:
( @5 W; S w; A% \DB::update()
2 I7 R1 O8 T2 x$ X- l* H9 k参数: 6 f( u! w, t* k) R3 b5 r
$table:更新数据的表
F6 Q5 d1 d. S$data:更新的数据,字段对应值 ( `9 ~+ F$ N1 F$ O# ?1 @+ d+ a
$condition:更新的条件 D3 b" q" Y. \, l5 k
$unbufered:是否使用无缓存查询
" L4 S4 r% P, q6 ^5 i0 p7 q' y$ ~$low_priority:是否采用无锁表更新
: f! [, w+ o0 [* N) d7 W% I/ ]: \* A7 p$ b- ], E; x
数据表查询(单条): 1 W5 G; O% w! h' \; s! `+ M' ~7 m
方法: ! W6 i- G; K- l [6 w5 U
DB::fetch_first()
) V6 {& f2 E' {参数:
- a3 u* X# V& L# z, \1 _$sql:查询数据的SQL语句
3 N0 \) v6 |2 W. D$arg:绑定查询的参数 4 o1 p$ t: j0 ?1 e- o
$silent:查询失败是否不提示
c. ?( K8 ]6 f/ K w& Y实例: 6 s" q0 [3 @" t |! y# x! k
$id = $_GET['id']; 7 h- e& U9 m {' u) }$ N5 A$ t
DB::fetch_first('select * from %t where id=%d',array(
^$ ]3 Z0 O) u# u# {) s. R7 t% R'test_db',$id
" v' R) I0 S3 A' Z! }));
% n0 V" E6 T4 Z8 N" k6 f1 [: k
5 { z# m l, y6 \DB::fetch_first('select * from %t where name=%s',array(
2 D7 Z( M& W2 E R7 ?6 U% n'test_db','ccc' % C0 m7 Z! e# H
)); # L, G% f! _, I
* a1 D/ b T7 N* U& s3 x7 F- Y+ ?
% d. N2 o1 N: |0 ?" o; a9 Q* S6 s- u0 I& ], T3 c
数据表查询(多条):
4 H* u$ k6 f* ], k9 u' V7 r方法:
/ U0 K& ?$ E" d* b& t. E* `5 Q& mDB::fetch_all()
$ j2 C, c7 q. j* p; g; s1 T! O0 g参数: ! K+ Y+ n9 ]. @6 v x( b4 B
$sql:查询数据的SQL语句 0 B) Y8 A, L8 B; R# ]
$arg:绑定查询的参数 ; W5 D' z! l6 l! x
$keyfield:一维索引的字段名称
: N5 O9 v( b( p" r3 V2 r$silent:查询失败是否不提示 ) ~( N) U3 R7 N! ^1 W& c% C
实例: E# r9 d* n2 x" Q, x7 n
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array( , t& N8 v; q& e9 B3 c
'test_db',7,10
) y$ }0 r: b+ g) _& l- e2 U0 m% B)); 4 P* ~5 e. M9 z, q9 ^
A4 T9 r3 f' h2 F3 f) x9 }
DB::fetch_all('select * from %t where id IN (%n)',array(
p8 y/ S4 j3 T7 w8 t- Y'test_db',array(1,2,3,4,5)
0 m9 U. @( }3 `; ~# o$ T9 L)); 1 l) c# U- v, F$ x
7 x/ `" `, F+ e数据表查询(单字段) 常用于统计查询: 6 N- R! [! S$ J6 M+ E
方法: + w# w6 v' A8 m6 c
DB::result_first()
% d' |% U+ S3 E1 p! s3 I' o' L u参数: 9 t/ Y9 f' D; M& v* G( s$ V; @+ g
$sql:查询数据的SQL语句
. I$ z# C: s4 M, l$arg:绑定查询的参数
+ d1 y: B; A, I3 t; w" Z8 y$silent:查询失败是否不提示 5 g% _" t0 e3 z1 [) H
实例: ~) H, r9 m, V" p1 B
DB::result_first('select name from %t where id=%d',array(
6 F- S! J- Z2 A. ^, x'test_db',1 . @7 R6 }2 B- d
)); , {; l4 O7 S. S8 ^# P
3 w8 j! q. J. b* p* NDB::result_first('select max(id) from %t',array( 3 K! N! N! b/ m, i& a. J/ n7 S: A
'test_db' ( o: k5 m; ]: F' i6 m% _
)); 4 o) Y5 Z% [2 U$ J3 X. @
4 }! V' G. Z# w数据库自定义query
0 C: V4 M/ J3 Y; K: U方法:
, A7 ]! I* i. `DB::query() : S% L5 e' J+ [* p& ~
参数: : O; z# P: E& }4 S; U
$sql:自定义SQL语句 ) Z; ^( Y/ T# l+ m7 s: Y: f
$arg:需要绑定的数据 8 A9 c6 O% n2 ?5 M( U/ ]! {( g
$silent:执行SQL失败时,是否不提示
0 ?1 M4 |( p- {( g; V1 E$unbufered:是否使用无缓存查询
4 ]5 r7 {- ~% T' p$ v% A实例: 5 U/ {' g3 ~7 m! P' Y2 R) E6 k
$query = DB::query("select * from %t where id IN (%n)",array( 9 y) W- D7 F3 d+ Y6 A0 C% Z, Z
'test_db',array(1,2,3)
! ~2 ]( o8 I; G3 ?, M. ~* V8 k7 G));
5 O; l( q0 Z F& D7 n9 X/ idebug($query);
: [, T$ o- H: Z0 g5 K
1 N" q( |1 u2 J% a8 v: I% W删除 + c, J: r, r P
DB::query("delete from %t where id = %id",array(
& A: T) c$ x$ R'test_db',11 3 f0 O2 `5 X5 N2 v
));
0 A/ Q' R) N( V8 n3 l) V A0 Z9 H3 I7 q1 r6 U: N4 B5 W/ z
. B- {( l) }8 Y0 o) j
资源集转换结果集 & b8 A; ]( ~. k( C b
方法:
" l4 G/ h# C0 t/ d; eDB::fetch() 1 o$ s0 r4 Q0 I, f0 S
参数: . g Z" A8 [5 G6 m# g$ ~% m
$resourceid:数据库查询的query资源 % E2 p( ^! G2 F/ C' w/ X) a9 z2 x
$type:数组类型 4 o1 h# A& U) j5 V/ v
实例: $ O# H4 U% U! W. O* L
查询 - H2 d# U$ t, M3 C/ {
$query = DB::query("select * from %t where id IN (%n)",array( 8 Y0 l5 X/ g% \* `
'test_db',array(1,2,3) 8 T5 |$ I. M- N- Q* z) {( i9 y9 j
));
# X8 J9 P# z! F3 j. {/ fwhile($res = DB::fetch($query)){
0 i( `6 G y6 ~% X$ A $result[] = $res; ' u y1 p1 b6 D9 r+ q; |9 ~
} ) o" S/ h1 c: U) n5 e
debug($query);
+ Y6 B- ~ a: [& S' ]' h& c! y
2 @6 W0 T- Y) l5 ~. k单字段资源集转换结果集(一般用于查看获取统计值) 7 d: D- t ^/ \
方法:
* v2 H2 ]& ~9 _DB::result() 6 J4 d; b& I3 C+ e; b2 ~7 }6 e
参数: . M. m! R; U/ o; J! r
$resourceid:数据库查询的query资源
# g" Y+ |7 C) b$row:指定行的第一个字段
- S, Y" ]; [- u6 h实例: 9 [$ j/ |, E% d+ x
$query = DB::query("select count(*) from %t where id < %id order by id",array(
: N8 h2 G( O- G6 J) J'test_db',10 / R5 f. g3 G; l( J9 Q
));
4 n* E0 }6 A+ N: w$data = DB::result($query,1); + n9 b( t9 d% ?
( S* O; z! Q' A0 m
常用实例:
( B: X/ N) F: |& ^3 x& I$query = DB::query("select count(*) from %t where id > %d",array( . c( D" L" u; B8 ^
'test_db',7 0 K( G* Y( K0 q( v; D$ K' @) n% H
));
9 o# \/ Y0 |; e4 w5 ^$data = DB::result($query,0); ; e& q: Z: y, o1 S. D
echo $data;
% F, ^5 r. D. I4 P% |* l6 y0 a- K- _6 T8 Y
资源集行数计算(不适合统计太多的资源,速度慢)
2 k+ O1 K7 Z0 U; _1 ]方法:
; i7 a, p7 d" \7 KDB::num_rows() m" S$ x) p$ V; H* W0 p5 W
参数:
9 B+ g/ [' m8 ` {+ r$resourceid:数据库查询的query资源 9 _2 }4 g0 k6 ^
实例: ! U2 B+ x" c; E
$query = DB::query("select * from %t where id > %d",array(
8 x0 z# L8 @ o7 ?0 w$ h9 t3 f' C'test_db',7
7 f* ?# S# n* I, c }# \/ r)); + \5 m: i5 P+ v
$data = DB::num_rows($query);
+ i4 v, \+ X! z$ b- @echo $data; , O+ Z7 ?! k+ f6 N; ^" b0 e
: T$ R! F" z/ g+ }3 V
资源集资源释放 ; n e, |6 [" d. w9 `
方法: : p3 o& s) O3 {9 ]
DB::free_result()
! Y3 Y/ m' @5 R: V参数: & N+ ], U$ Z% p
$query:执行SQL语句的query资源 3 e9 _! j# j# p9 ^4 V: P0 I
$query = DB::query("select count(*) from %t where id > %d",array(
8 M7 B" B1 J( f' o'test_db',7 f+ S; Y% D) E
)); 9 l7 u+ q7 l" p5 i1 `# ~8 S
$data = DB::result($query,0);
6 [. W; B$ `+ t6 ~, i! LDB::free_result($query); - h& y" }) a) a3 P J; w
echo $data; ; w( Q! f; B: r
/ }- e4 H1 j+ J0 I按字段排序 / m/ n- O; o) \/ a* |" \% m
方法: ! V0 k0 u3 q2 W! F1 a5 Y) G1 M
DB:  rder() A4 m' m- o1 B' f& \' R( Q
参数: " c I3 ~/ e$ t+ W1 |9 g
$field:需要排序的字段
* s' }; z$ e- I/ C- X) \! F$order:排序方式
2 b B' v6 W0 W2 a: N. `实例:
0 y+ E4 ]$ O' Y, ]; x$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array(
' M" N5 u) i, k* k- ~'test_db',7
& D1 h* z( q% x# \0 D3 C));
% Q7 ]; `( [: ]' s7 q! [$data = DB::result($query,0); * D% R- n) r% T$ n% u* _* \4 {
DB::free_result($query); 0 E( |0 X4 N( T
echo $data; % I* T$ U8 |* a
1 J* G# j Y- _% X1 @$ y f取值区间设定
: }" G( X4 t& ~$ \" _' K+ m方法:
" w! t: J4 R7 \ V- \7 gDB::query() + h- d! s6 A+ t, B' A
参数:
; }5 m5 X/ E. w& T) O' x' h$start:开始的索引值 7 X% w4 Z8 G' r2 \- z1 J. B
$limit:条目数 9 e0 K, h, l" l4 A* B
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
, ?, J* x% c4 F/ C" C3 k'test_db',7 # s. Q- i0 z4 T1 Y+ x% W4 p
));
8 z7 W, b/ e) {& d
# }$ a+ @2 R, d! r( h* q+ w字段拼接
4 ^. ^; `0 \6 W; p0 V方法: 3 T+ U- \* E& E3 @
DB::implode() - s1 S# I( @# T6 [# T
参数: ' V& o1 N/ }, V) d3 Z
$array:需要拼接的字段数组
9 y- A0 L5 y, `' @+ o$glue:字段拼接的字符串
$ D- N: h$ q9 \- O+ J实例:
. d+ d4 u2 f2 X* L% lecho DB::implode(array('id' => 10,'name' => 'ddd'),'and');
2 v( R. F+ W; E8 P4 ~0 N8 u% r5 P* o1 O, g
应用:
1 s, i. e( D. r4 @; v3 I' X, z HDB::query("update %t set".DB::implode(array(
& u8 T' z1 y4 G& n: G'name' => 'ddd', . W% L2 t8 p. f$ M' S" H
'id' => 22
5 V+ N' K: y4 S3 E. W, y" y- S)).'where id=%d',array( / s5 D! K. v6 m) v: S2 N
'test_db', . u# }6 C! h% h8 V
10,
$ \! w: g3 m) X* ?2 v! J) & x3 t$ w8 `3 g5 e; x3 w
); 7 J( [' G7 c) Z+ g/ @0 |! T* j# k
' H9 U2 ~" f- W
字段数据设定 1 c9 z* n. p0 m6 {) \
方法: ! u/ `" X* n8 H- }
DB::field()
9 K: ]% T4 ]' ^6 B$ z( Q参数: j T5 p8 m1 @) R7 n
$field:需要排序的字段
5 R7 c/ B- n, u |" K, r/ y$val:字段对应的值
& Q6 v% r! ]& g$glue:连接字段与值的类型 8 y7 P( ~4 E6 P4 }
实例: % J8 b& W6 @% _7 z7 x$ y
DB::field('id', 99, '='); % S# N1 L, {" a L. k
" ?+ x. k [) E: X7 r' n
应用(把3改成99): / v* t; u8 K* U, `
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array( 9 w' K- g( U y# O7 \' S
array('test_db', 3);
3 [& B1 X+ r4 p. p- [# U/ m( E3 L)); # m' K# B1 b( h! m3 g1 R
|
|