数据表插入:
$ M- T& ^; J" u: c) W6 v0 s方法:
: R; g6 n- a+ q3 z1 k8 ?DB::insert()
: E7 C/ E- B; E( [; [8 L参数:
1 |" v h3 N5 Y: b h8 T$table:插入数据的表 - v+ O3 z" a3 z/ i& l- T5 s
$data:插入的数据,字段对应值
, n. N8 _. Z# w7 v& x, V+ c9 l. [9 v B$return_insert_id:是否返回插入数据的ID
$ u( I. x0 `0 E, S& y7 E/ J+ @3 _$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
; W9 S, @0 A$ m$ s0 t$silent:操作失败是否不提示
+ K9 R; ?3 p% l; F( l
7 h6 |2 |: I' I- B3 G实例
2 Q4 S6 T9 r( l# kDB::insert('test_db',array( . g% n6 |% ^- X7 E% f4 W
'name' => 'ppc', 3 b7 W% b$ z" n9 c# E
),true,true); 3 {9 x/ C/ w) W9 h( P; Q8 Z8 G' y
1 b8 s4 p4 H* Z3 C' z数据表删除:
0 y3 ^4 u$ g M0 ~. S7 O8 ?方法:
' t! M% n' s& MDB::delete()
& W/ m) ~& @( j2 w1 D. @参数: & X2 P5 Q3 T, ^* |7 T/ |* k8 D: w2 y
$table:删除数据的表 & w9 E- @6 C! u& n' G- R
$condition:删除的条件 * a' q+ L- h/ s5 Q) M
$limit:删除满足条件的条目数
" N; q, v2 t) s$ t, q4 Y5 u% K& N$unbufered:是否使用无缓存查询
: Y$ S+ X/ X4 R7 c) [: r3 c. w
3 k7 y+ L# ?/ d实例:
4 }1 J9 _2 j% d7 D2 J6 ^! r' cDB::delete('test_db','id>2',1,true);m . g9 k9 m. a& c) W9 R- Q" h3 \
. l2 m5 } ^% p8 o2 w8 B- r* g
数据表更新:
( W! Q2 M& ], R8 a' m7 i方法: & g+ A0 W3 I+ D9 m; T" s6 e
DB::update()
& V; e% |* a% v N: h参数: ; O- ~" s; f! ?2 z' e* N9 J# [9 r
$table:更新数据的表
U5 l- B8 @% j+ y. G$data:更新的数据,字段对应值
5 a3 z. U, u% P+ K5 { c$condition:更新的条件 ; e* l4 @! v+ V. b# B8 N
$unbufered:是否使用无缓存查询
+ Q8 k1 c p q$ S$ `6 g2 [$low_priority:是否采用无锁表更新 5 j6 }6 G" M- h5 a
3 ^9 ?9 ^5 H `7 t! O1 @数据表查询(单条):
" i1 d0 I4 ^" q( g# i; D方法:
8 z$ e1 J1 L$ y& \; b0 {9 G& RDB::fetch_first() 7 c0 a2 a" c" `# S% Y& x/ [
参数: 8 t% [! T1 i7 t( P: p) X
$sql:查询数据的SQL语句 4 @& s* L' W' f7 T+ ^1 \- }
$arg:绑定查询的参数
# x' Y5 P; L& I+ ]8 A$silent:查询失败是否不提示 : q( Z* g! S2 v. {( I& O1 r
实例: 4 x2 ]$ s2 N& ]5 c4 r' a
$id = $_GET['id']; 5 C9 g* Z; P$ O9 @' u4 X1 c
DB::fetch_first('select * from %t where id=%d',array(
* f I$ e& i/ Q/ v'test_db',$id 1 [; t) N/ E+ v1 n9 ?
)); * J3 h1 l+ ]2 ]4 f# B$ S) A- z
$ s, z9 g" N" F+ k' t6 D7 H; W
DB::fetch_first('select * from %t where name=%s',array(
9 ]9 p+ R* M- p) x* N# s'test_db','ccc'
8 C7 ?. h' [& {)); & F( {* O$ i' N0 x2 n
: L( Y. b6 x: s( A7 c: M
; K4 Q) K3 r* H# j3 R: Q. m
: `# Z1 @0 i; K1 r数据表查询(多条): ; V, t8 u! C' g. @9 f
方法: # O* W' A7 z, q9 t( B- Y
DB::fetch_all() 7 ? P) v3 J, ~& f( L5 p. v. D; z% Z
参数: $ q$ b @ [* l6 H. ]1 a L9 h5 v+ p! G
$sql:查询数据的SQL语句 " u, V" n4 i) v6 ?3 `6 Z% K
$arg:绑定查询的参数 ' b1 x7 C$ F# Z% v0 ^) v- J
$keyfield:一维索引的字段名称
& U* x+ n. x# b* v' L8 C$silent:查询失败是否不提示
: N' U/ m+ J, W0 X实例:
( C% x$ q. K4 t* ~! P# w4 a1 ?, m1 @DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
+ H! _4 W9 c, k5 p+ D'test_db',7,10 - W/ B$ w" r, @1 ~
));
/ Y7 t# h, u2 x& n. v% l% y! Z) n& I$ d. {! J" {% g! z
DB::fetch_all('select * from %t where id IN (%n)',array(
& {4 p) }) B& N( _3 V'test_db',array(1,2,3,4,5)
% [5 t3 z# V4 ?) m2 K)); 5 v3 K5 w) u6 d9 z9 \, s
" w. o, B& R: N, }
数据表查询(单字段) 常用于统计查询: O+ C1 j# l5 Z) L4 p6 ]
方法:
7 n8 E) O8 b, r9 C, BDB::result_first()
6 x% P* ]+ v/ q! o8 [ ~参数: 5 N/ B! R0 T8 _
$sql:查询数据的SQL语句
# S7 e5 P. @1 J' k+ i* Y$arg:绑定查询的参数
# X. n) K y( U$ D/ G( J5 {8 O$silent:查询失败是否不提示
4 c9 N/ O' j, V) k6 y) _5 K4 d实例:
9 ] w! Y; a- ?" \8 g2 ?DB::result_first('select name from %t where id=%d',array( 2 J/ m# y' |/ u! ^" g7 v
'test_db',1
- f2 d8 @( b" h2 e));
4 h3 {/ N) N, J C( M3 h7 l
9 v W/ r; i& o4 N/ H/ ]DB::result_first('select max(id) from %t',array(
: O( Z5 `! {3 p% A' T( R# W'test_db' b& B9 D+ U" t+ V& R
));
: n5 j( I$ H$ H
* c% z9 [3 s# Z6 D数据库自定义query 7 W6 G; F4 c l( B
方法:
. X8 z8 J( L3 }4 s) n2 ~! R5 a2 EDB::query() 4 J9 z% J( P8 J0 L
参数: & c+ B7 z! [2 l' g5 Y9 t
$sql:自定义SQL语句 ; T5 m" o1 k/ D( W
$arg:需要绑定的数据
1 y. q/ j; N( ~5 e( }2 a$silent:执行SQL失败时,是否不提示
2 _, j9 S% d9 m! e K, r$unbufered:是否使用无缓存查询
3 @0 N3 u3 {- s7 p1 P实例: 1 O$ ]+ ^# q3 U( ~7 L6 |' m
$query = DB::query("select * from %t where id IN (%n)",array( ) P3 ?( z/ z. o
'test_db',array(1,2,3)
~0 Z, e' _! r0 M N9 L$ o));
; _& L' c3 ^/ N. A9 I6 odebug($query);
- n0 I" G1 Y- _+ m& C- _- O$ W4 G w4 R
删除
8 f3 A! f0 M) ?; b8 {2 l8 aDB::query("delete from %t where id = %id",array( 3 Y/ J- A; [4 V% M, Z
'test_db',11 % d& [% Q# y# r' s4 d$ L- P
));
, v1 }0 R, ?9 {# n; H
' ^1 o/ `0 o$ ^- C! Q
; m4 S; {: E5 [' T$ p' G资源集转换结果集 4 u# V4 c1 G7 z1 _( t9 u$ U
方法: 4 k1 }. a2 \* s8 i$ k1 I, Q3 U
DB::fetch()
' F$ F W2 ?( k0 R2 w参数:
. H @5 W) G0 _/ z$resourceid:数据库查询的query资源
% n# Y% l6 v" w" ]8 F( c$type:数组类型
4 b# T" [1 Q4 b# ^4 i& h7 H; q5 K实例: 1 b4 B: ~- Z- `* s* S
查询 / x m9 R3 o" v) t1 D
$query = DB::query("select * from %t where id IN (%n)",array( : O/ b3 Z( K: |" \6 e4 r
'test_db',array(1,2,3) 0 r- Z1 C- V& K4 w' T+ W: U
)); 1 g% e; T8 X/ [, E- {6 L
while($res = DB::fetch($query)){ 7 e i; `9 ?- B, r
$result[] = $res;
9 P( h; m- i6 D- o/ |# \. C/ k- q" e} + o, @: q4 ]" _ R; i2 ~
debug($query);
! ~! k' u" s6 g) z, | n' B7 Y! |/ ]% i% R' e$ \
单字段资源集转换结果集(一般用于查看获取统计值) . |; C: G6 q, B2 N
方法: & A: F) ]9 f" d ^3 w
DB::result()
1 R3 v) ~" [1 C i6 q* }8 W参数:
% B% W) c. G; u4 X$resourceid:数据库查询的query资源
. H% ~* H8 a6 V+ n" C$row:指定行的第一个字段
?; I8 K( {4 {; d实例: - [ a0 y* u5 v% f& f5 P0 U
$query = DB::query("select count(*) from %t where id < %id order by id",array( 8 y6 z7 V1 e9 U8 z; t3 m" c
'test_db',10 + K( Q) ^! ]& _+ ]4 n: d
));
) G% z' z) A4 v. Y! ~$data = DB::result($query,1); 4 D8 ~- E; e- O, G
Q, I o2 t$ {8 ?% I, W
常用实例:
5 T% w- C+ N$ }' F$query = DB::query("select count(*) from %t where id > %d",array(
! S; N4 c6 O# p1 C. c/ N7 n'test_db',7 6 Z4 x) R1 ?; m
));
+ x8 ?# v2 ]6 B" h. P$data = DB::result($query,0); " Q; ]" V* s3 r" r
echo $data; ! B& v! u/ U/ @- s- ~
; w! ^3 W1 I7 z( s X' y1 i资源集行数计算(不适合统计太多的资源,速度慢)
4 L6 D; B: A5 e0 u方法: , u/ Y. S0 X& r7 g9 t* @0 Q
DB::num_rows()
. T( F7 u. S* y' Z8 y参数:
% m3 l0 N! W' S& b$resourceid:数据库查询的query资源 # O6 A- O: m$ M% ?6 \
实例:
% Y0 ]7 v ~. c# g: F9 i! k7 a$query = DB::query("select * from %t where id > %d",array(
+ P* S7 }. p6 I0 T'test_db',7 4 q' {1 c2 s7 k' S$ T
));
3 H& n# G1 R; S1 X& N. b$data = DB::num_rows($query);
7 }6 k y0 N6 Q3 oecho $data;
. p5 x9 C" g$ T; ?2 [* |& w" V! m' t5 k+ ~- F% w/ M- f% o, K7 P
资源集资源释放 ) q' R2 Q+ N+ h; F( _" {
方法: / @: V& j$ b( Z0 S: t0 k; ]# e; f
DB::free_result()
- C' s7 X. \' O/ ~+ e. r; v参数: . K" O; W9 C& g2 `5 u6 d
$query:执行SQL语句的query资源 ' u D! M a' G. b7 P
$query = DB::query("select count(*) from %t where id > %d",array(
" b3 l5 T( m; r: P! g4 n; h'test_db',7
( ?6 T, E% F5 [/ I4 `2 L));
8 B, b+ N) a, r4 v7 q$ `$data = DB::result($query,0); ' ?4 v9 D V1 k3 Z& x* }
DB::free_result($query);
# u, M. {6 }% }& u7 E9 Decho $data;
- ]7 @, G2 @" x- Z1 k2 e
* o7 ^" x3 L; t7 m& K1 Z) e* O, e按字段排序
1 r. x; w* Z/ E9 D6 H* z/ B+ X( Q方法: 8 B; B! |" C7 F4 h. p, U' `" E
DB: rder()
7 Y# A' E2 G. @参数: / W+ X s) i$ x f3 ]
$field:需要排序的字段 ; j* g% Q$ X& }! l6 l9 a
$order:排序方式
* Q1 j; |8 Z" g: ^3 r7 m7 {- s$ s实例:
6 J8 ^3 |' m7 E$query = DB::query("select * from %t where id > %d order by".DB: rder('id','desc'),array( - n& c0 t- T' k0 ]0 u" G T
'test_db',7 4 z; L8 P6 h2 x+ Y, V: G8 t: x
));
9 M" R3 F |' d$ i/ O4 u& U6 K$data = DB::result($query,0); ) F% |7 ]' P! j. C* p& ~- }( o
DB::free_result($query); : Z* L* k" u( }' j
echo $data;
9 |8 w) W: n0 W/ d* t# ?- q& g$ C
+ k* A/ d' ?. K- t. g, W$ q取值区间设定 - V9 ~9 E# t4 e
方法:
" b6 Y6 n; j( }DB::query()
) ~6 k8 x5 Z6 }! w2 s参数:
* s6 \6 T! x z* k9 W7 [$start:开始的索引值
3 _+ ~; s' B p, o) w' }+ Y6 A x$limit:条目数 ( ?& r" Z* Y! j W3 z
$query = DB::query("select * from %t where id > %d order by".DB: rder('id').DB::limit(0,3),array(
1 ]) P( {9 u [+ K P: {* m'test_db',7
. K" @5 l e) b6 ~% W));
+ y/ M; U( w/ Y% T( ^1 `, x
, Y5 ^3 F U5 }) k/ L) M- ]字段拼接
- v8 G( p$ B8 a* q" _9 q方法: ( g8 g# H, B+ ^4 i% x0 ^; q
DB::implode() $ h1 y8 N+ \: g- a
参数: % }4 E+ D4 u7 M4 e. G: ~
$array:需要拼接的字段数组 ' n. \# v% d) i$ Q1 ^
$glue:字段拼接的字符串 " @# I7 W F- {. h
实例: 4 ?' Q2 m* M# r8 A: h% P
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
+ w. E! W1 P5 L. \. r7 e6 V. c3 z+ E) z3 R2 N5 h
应用:
7 R3 z3 W3 Z$ Y5 JDB::query("update %t set".DB::implode(array(
+ Y# g7 l. M4 N* l, y- ~2 N! X'name' => 'ddd',
8 S' O( a4 m7 N. Z5 ]; V0 M9 p'id' => 22 0 S4 Y& X9 g3 a" C ]% I
)).'where id=%d',array( 2 u( o6 d" I8 U; a1 U R; q
'test_db', 9 R1 Z- r; s% b+ c! H, ~
10,
' f# @) e+ U. R* F8 ]+ g) ) M# t. Z j' b1 o6 C9 b5 F# l7 X
);
* q2 k$ }8 X8 R9 ?( N J) ]& m; L. u9 K1 @3 N) T1 l5 s
字段数据设定 8 }1 v# y, d. L
方法:
# i3 g5 b2 f4 g# b ^& V5 WDB::field()
) A8 X' E: b4 E4 \# `2 C0 M参数: 4 d) K/ q; ~+ m; g7 j: H8 i- ^
$field:需要排序的字段
5 q, d8 [, C4 y3 u; e$val:字段对应的值
! `; j/ t% Z6 k) z2 O; Z$glue:连接字段与值的类型
3 l, f u# J4 m$ j0 @1 F6 s; n实例:
& B) O* o* X9 w" D2 Z4 R" b0 c) ADB::field('id', 99, '='); 8 }+ b- e# @) P! K9 R
n% t7 v) H, g' B1 g7 Y6 \; \应用(把3改成99): 5 z" w/ B" e8 `
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
# J4 b8 {+ Q6 Varray('test_db', 3);
9 Z8 S0 O3 w" o" W)); ; m5 z, D. ^+ I r- V$ |6 W% o% m, L
|
|