数据表插入:
# \4 K1 R& ^+ F, w7 m6 a$ \方法: ( q) D# M' j3 h6 T! K
DB::insert()
8 m+ K& j/ t) U3 Y1 o8 R! t' Y参数:
% i. j, @$ v! s1 V# F/ h$table:插入数据的表 6 q! t4 a$ V {& s% h- |0 |
$data:插入的数据,字段对应值
M( C% i& h, J( M3 ~, n- Y$return_insert_id:是否返回插入数据的ID
$ m4 V; g7 S7 ?5 p; ~8 p' D$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
; m7 H' s+ l0 m$ O$silent:操作失败是否不提示
4 X! G2 T5 d5 @- L* C* P) Y% P9 R2 i. \
实例 $ O6 j: } @6 g6 S4 `% \
DB::insert('test_db',array(
/ i6 F* E, Z9 ~* a9 \, x'name' => 'ppc',
% _' E, w6 K) P) }) j),true,true); * K9 D7 c y8 r5 P' I8 n. _
4 v( L) g/ x' I数据表删除: : _7 P6 P+ P! @
方法: 8 A8 s" g% B5 |) J/ D; s
DB::delete()
2 c$ d l3 `8 n4 U, b参数:
0 Y, n1 |5 n6 r' l: {# x: c$table:删除数据的表
) K# E; O- v7 S1 b0 h$condition:删除的条件
; e+ U" a' e6 D. I+ a$limit:删除满足条件的条目数
& T0 ~! I# D3 A1 E# j% W0 e$unbufered:是否使用无缓存查询
/ l+ @* Y* c1 k2 C# m; |( ^' c7 @0 ]' B
实例: - _8 ~$ `. p H+ A2 s. a$ O6 j6 Q
DB::delete('test_db','id>2',1,true);m . `" e, m- R5 C9 e
9 L$ ^2 t5 w; s( H数据表更新: * D9 d+ m! m" U
方法:
1 X" ?5 ^6 v- vDB::update()
: D' U7 C5 g- a7 c+ o参数:
5 c( q0 [% t7 s2 K# z8 @$ J$table:更新数据的表 . c/ G. ]; f2 L" m0 R/ y
$data:更新的数据,字段对应值
- C9 F* J! ?9 ~8 Q. V$condition:更新的条件
. J' ~: l' C7 Z4 e% [. N$unbufered:是否使用无缓存查询 / ?% H: t; k9 Y0 w* |& \
$low_priority:是否采用无锁表更新
5 r: @8 T5 y1 c, v. }( U+ A9 X( h' l( l0 F
数据表查询(单条): # y6 z6 ]1 n! u
方法:
; H' k9 G: B H% o, d. |+ q0 ]) RDB::fetch_first() $ U3 z+ \2 G0 K$ n( C5 r$ d
参数: - W+ O8 A. l% h
$sql:查询数据的SQL语句 8 |' L' {" N; L$ D
$arg:绑定查询的参数
2 B) B6 F# R; k2 x$silent:查询失败是否不提示 ( S O: b0 ]/ P# h$ W' c
实例:
8 q% }- W9 h/ A/ I$ g b! q! n$id = $_GET['id'];
( N9 O( n( O! W% `( b' GDB::fetch_first('select * from %t where id=%d',array(
* f' @! z5 a9 ~" x& ^'test_db',$id
3 f! P2 p8 S+ ~9 U/ A)); * b* U# X: _) t' ^* f: E
1 U9 o6 M, [$ i8 `. M' hDB::fetch_first('select * from %t where name=%s',array(
1 X9 l" E5 \" }8 l0 C6 F'test_db','ccc'
2 U8 y; `3 k; I4 Q7 A1 y5 F2 K/ d)); , a: Y9 M( o% F( A- l) u
! |# K- n/ p/ [/ K% V
2 l# Y5 p m1 _; A% f( o* e& ^
! @" M' u2 N3 T数据表查询(多条):
" Y- I) e4 W' L7 Q) m. _方法: ) B# O3 F: ]% P9 E7 n( t% D' x T
DB::fetch_all()
; a$ W) u2 H& f参数: ; R6 f; V. H) S# s: I
$sql:查询数据的SQL语句 $ @! k t3 k% C1 J- l
$arg:绑定查询的参数 ! c1 M1 T: ]2 N1 M- D/ }( S5 a
$keyfield:一维索引的字段名称 2 \ W) H0 T z/ p7 {( k) X
$silent:查询失败是否不提示 + s# i* b; d& n6 H, B( ~
实例:
: V4 P6 q- w j1 vDB::fetch_all('select * from %t where id >= %d AND id<=%d',array( " Q# c9 J5 F% S
'test_db',7,10
5 F: N0 j5 B( V)); * ^, X+ z7 I) y3 o9 V# Z9 Z
. \7 V; Y5 A8 j3 D7 P/ ]7 cDB::fetch_all('select * from %t where id IN (%n)',array(
) Q" ]. g, v: V'test_db',array(1,2,3,4,5)
) T: P. I( p( L2 e9 m));
1 Q4 b% x$ O: v F$ S$ |) h
* G `; N2 L- a/ a数据表查询(单字段) 常用于统计查询:
( X- H1 L6 l7 x5 r方法:
- G; D6 x8 U+ K, z) l7 hDB::result_first()
0 |/ l' \ L& m' @% @参数:
) i# J9 q$ B0 D d+ A$sql:查询数据的SQL语句 : Z) B* @8 i! c/ d6 ]3 C
$arg:绑定查询的参数 , z o' x& p) G1 ]9 [
$silent:查询失败是否不提示
4 `, H# x$ F6 A1 d实例: ; e; m2 ~4 d! t% w
DB::result_first('select name from %t where id=%d',array(
4 p. Y" f2 d' [+ v8 x'test_db',1
8 K& v7 K2 e' G7 I; [)); ! C, V% } T, Q( Q v
/ l% B$ g2 C8 ?1 |- k" f
DB::result_first('select max(id) from %t',array( 0 V! H3 U9 [1 g7 g% M
'test_db'
4 s3 q Z; Q: `$ o)); + u( k% @5 l% j6 Z
( E. |- \ G% s$ G9 o2 m1 t数据库自定义query 2 w) k$ v W. U" Y
方法: 5 q2 p$ h7 C3 ~" _ Y
DB::query()
/ ^; K/ S6 ~" l- Y参数: ; m# ? q' J! S
$sql:自定义SQL语句
& l8 i; t6 P! f2 M+ @; H1 V$arg:需要绑定的数据 . b, r6 ?& Q( b
$silent:执行SQL失败时,是否不提示
, |9 o% Y6 b |% c$unbufered:是否使用无缓存查询
! {7 ], o9 E& I( C; d实例: . W3 E0 X, K# y' x# Q
$query = DB::query("select * from %t where id IN (%n)",array( & l' c1 b" b8 ?
'test_db',array(1,2,3) . C( ~; I a% }- \7 _
)); 2 L* v$ [7 ^/ ~0 g3 r. Y
debug($query); 7 P7 I K) O. i8 j' F0 y
* Q* r* q. \7 ~2 x( t删除
7 j! u/ ?1 T$ m4 b1 ~$ oDB::query("delete from %t where id = %id",array(
' e: j' K" a4 W; n8 V'test_db',11 2 {" I1 k0 B8 i: C! g- }
)); 2 T& J6 O7 ?% L5 t; ~
: z3 _" l, }& {- r1 |, q* q
2 G: l* |5 h0 L) J/ z, F资源集转换结果集 9 p1 |" [6 X3 J- J
方法: ) _+ [9 W: N; s: {9 i7 E) b
DB::fetch()
; {: S( L' p7 x& Q( _/ B: x3 l参数:
5 v! q. _5 P8 U( j- Y% B1 Q) y. y% G$resourceid:数据库查询的query资源 ; j! y. r- t* W' X5 [
$type:数组类型
/ D* O( U8 Q9 j6 O# `3 \实例:
9 v3 F( d! g0 T3 Y) R查询 5 V, O4 a7 R" N7 f6 X
$query = DB::query("select * from %t where id IN (%n)",array(
4 D8 [8 ]7 l+ j+ }/ J2 n( j'test_db',array(1,2,3)
7 u8 }2 [$ }* ]3 t' x));
3 R; v- ~9 t7 ^# f# ?& Kwhile($res = DB::fetch($query)){ " c5 l& P o& V! W3 R
$result[] = $res;
9 W# ^2 F \) Z4 w} 4 z; s5 p' d6 ?2 T, d. m% }! E8 ]
debug($query); ) J0 D' j5 H1 V# |& R
" ^; W( y# \ l) R4 h单字段资源集转换结果集(一般用于查看获取统计值)
7 A R! G: ]) E8 b. r$ g方法:
: w( `. x8 p! c" iDB::result()
5 x: p$ V9 l1 }+ e参数:
' M6 R" K Z* z) D# h8 F: U$resourceid:数据库查询的query资源
8 r& C9 b! C5 y$row:指定行的第一个字段
$ w2 G6 l1 o/ K0 v3 a+ f! b2 ^实例: ) |" l ^/ w; e y. l7 z% k4 {
$query = DB::query("select count(*) from %t where id < %id order by id",array(
8 J! h0 p4 S; h'test_db',10 7 d6 |0 Z+ [, ~0 Q, ^
)); $ h% b3 J8 B8 D" O% `, R' @
$data = DB::result($query,1);
: r0 {# R3 O1 h5 `. w: h9 w) T: P6 J1 `. q1 ~! E8 q7 n
常用实例: 2 d4 j( \5 f) @. N6 b
$query = DB::query("select count(*) from %t where id > %d",array( $ p( _; I& u' H8 ?; {
'test_db',7 5 R' J) j/ v- r; r9 b
));
. X8 X( e! x r$data = DB::result($query,0); 8 ^2 X' N2 |/ M* U
echo $data; 3 b1 H o! k8 |6 k
7 `& E$ W: G$ e) q, k0 u z* G资源集行数计算(不适合统计太多的资源,速度慢) : g; N+ B- D+ V* A- j( ?# W& d6 x& d" k
方法: + c( l8 |# U2 ]5 F4 @
DB::num_rows()
0 h& G) V* w8 u% X l2 S0 C3 U参数:
& B: F. i) x6 q9 U3 S6 ~2 {8 Z! f; d$resourceid:数据库查询的query资源
6 e8 \: L! O3 @" o8 B0 A# @实例: 4 ]3 z+ e. J! R6 K. n
$query = DB::query("select * from %t where id > %d",array(
# r" E2 d+ C( k* a9 z# c'test_db',7
6 S: x5 i: d% C, _8 _" N W)); ( A: v& f+ Z; M V7 F
$data = DB::num_rows($query); 4 c2 K7 J" J" ?$ V4 z0 v$ N8 p
echo $data;
3 {2 H6 W# Y/ H' R/ c) I4 {, B W; G: D! [: r; j& u
资源集资源释放
- k* ^- C/ r" S/ b$ G9 s( T方法:
2 q( D" {1 X) U+ q: d+ ?& vDB::free_result() & V2 ~3 x1 K. `
参数: & S+ p/ Y0 K2 T: l' Y4 \
$query:执行SQL语句的query资源
/ N4 ^1 ^; V6 z$query = DB::query("select count(*) from %t where id > %d",array( 2 B% S. f6 V$ u: F3 h3 w
'test_db',7 $ | ?" t, W; q+ K) Q- T
));
- W; {4 X7 q$ b# q! r9 q# k$data = DB::result($query,0); # k+ f# G' q/ g0 _# D9 T2 V4 g
DB::free_result($query);
- W: k2 |. O2 S' S0 Lecho $data;
* `6 Y2 f- _' r# h( S. t( }1 d7 l: L' {4 x* u
按字段排序
' I; E/ ]/ O- z) H( V W8 W方法: ! P, X6 H$ h1 Y, Y0 E- f
DB:  rder() . A* L* e4 Y0 \/ F/ b
参数: ; {$ k. P3 J1 C; X
$field:需要排序的字段 # P9 ^$ b5 ]! f/ c0 u
$order:排序方式 5 z$ Z0 h, x7 ^6 }: Z
实例:
" R; a5 t4 q! s# q6 m9 |, X& K$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( 6 L* M, \0 O' e5 v2 ~
'test_db',7
4 Q& g' a* V4 o+ B( e)); . t" A2 V2 Z7 a+ ~$ h
$data = DB::result($query,0);
5 J9 J9 Q |! ^# @5 A' dDB::free_result($query); ! V0 K# r. X; D6 R j# c. ^
echo $data;
6 Z4 e+ F+ l' v% Z! D+ @" m- i: o$ `! f; g1 N* I1 w7 V6 U. x; Y
取值区间设定 : G1 `5 G9 G" @
方法: I$ ~# N2 u+ H
DB::query()
" ~7 w! F! W% E2 G* Q( D参数: $ ^, X! z d4 I8 J( [
$start:开始的索引值
* X* O8 Y' A% L: Y3 Y$limit:条目数
1 `% f; d6 ^# T: `4 ^: ~' I% u$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array( ) d( _0 ^+ e6 L9 D* k; W5 T
'test_db',7
0 H+ ~4 Q. F6 E)); * y+ F$ E" d, z4 P+ L
) @6 J1 m0 |8 a7 ^4 _: e! p4 r3 G" o
字段拼接
) q1 O7 @- r' F3 p* ] d方法: . C( @! |- i1 H
DB::implode() 8 X J# r q: }: O# M3 ?
参数: 6 ]. y# h/ _ V% K& i( I
$array:需要拼接的字段数组 2 v; y8 J8 g8 z# }8 j& F+ N
$glue:字段拼接的字符串
3 Y: k+ W( k1 s; y实例: & A1 X4 |( X5 W
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
. l/ i& p) g4 ^4 V: i: X+ w9 {; r
/ v& b, a) e( d& }# J4 |应用: ) w4 L) g% i. O) b i( Q
DB::query("update %t set".DB::implode(array( + l: B J6 G7 e
'name' => 'ddd', 2 X8 ?, l+ ~/ \# B' \3 i: Q
'id' => 22 : X. K9 n% f# m/ B0 J1 m' {/ M
)).'where id=%d',array( 7 H S6 I, _$ y+ i' H/ s" k
'test_db', ' g! w) U9 ~% ]# u& l% w
10, & I6 H: |+ _" o! l/ h# t: ^
) ! {& X- f/ K5 v& @/ d; [
);
0 l e4 N0 o2 M; O% Q, S8 u
1 K, C Q6 j6 U0 t/ J; R字段数据设定
1 p5 i2 q3 l# {& c方法: $ x1 z2 i, k2 E; \* ~! E& j( u
DB::field()
4 ? d! [$ O( k6 Z8 { f& u m参数:
! _+ m* x1 G+ T1 V+ ]$field:需要排序的字段 & G& W1 ^% r9 m/ s1 S
$val:字段对应的值 $ \" [: }( J: o+ j- M) \, M0 O7 {; w
$glue:连接字段与值的类型
* A! N- c1 ~ u6 p5 @' D实例: l3 {8 W, L6 g* ?5 Y3 k) C
DB::field('id', 99, '=');
^/ ` L9 u: T j' O# M2 ~ W* D- W8 G: e1 P
应用(把3改成99): ' c) N2 {* V! H. c
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array( & u( n/ e$ P& ?. j; K" T
array('test_db', 3); + y5 ]4 i4 U+ c1 l( W
)); ' d9 K) k$ V" b/ e
|
|