数据表插入:
+ [7 b$ E3 f2 d) \7 @4 t! C; e1 x方法: 7 b. D/ n3 {" h0 U& V2 J+ J0 K
DB::insert()
9 n! e1 _( ~0 J2 J% [2 j7 l参数: 4 Y) R# _4 Z2 ~2 u* G+ c' }
$table:插入数据的表
$ N7 [+ I2 g, a# ~/ g$data:插入的数据,字段对应值 0 o- v# ?5 A* r/ m
$return_insert_id:是否返回插入数据的ID
, z4 \5 |6 o1 R0 r" O8 p, M; ]( \$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新) * ^% c+ k, ~# ]! B' O2 U/ r& M
$silent:操作失败是否不提示
/ c+ U3 `3 |9 t8 b2 I/ I
' {! b4 e7 O1 q5 s% i$ Z/ t实例 3 {7 F: i' \/ A1 e5 o4 R" j
DB::insert('test_db',array( / k4 G+ j' @; i
'name' => 'ppc',
2 C/ M: d, l0 Y q5 P),true,true); & i$ F$ k" r2 \1 d
- I* R/ J. n" X5 \数据表删除:
1 X! Q# j; ~! J) z' k! g; `方法: + X; x4 j: _4 U+ e6 }0 I
DB::delete()
* m! J, `* O+ o6 m( h+ [ I; c参数: 7 b% H2 Y9 X1 J& K! H- ~
$table:删除数据的表
9 F" B* O) p7 V v$condition:删除的条件
5 u: g4 ?3 v, t9 F* T4 D$limit:删除满足条件的条目数 1 K; v: q2 `0 Z, l! e0 E7 \
$unbufered:是否使用无缓存查询 ! h1 J9 J/ `; n& M% O
|0 e; g0 w2 J# ?6 K! ^实例:
( V8 b. X. q" D7 r8 Z8 y \5 MDB::delete('test_db','id>2',1,true);m ( c }( {, n1 L; k& O
1 i4 F+ S) k" r, s3 Q
数据表更新: ; B$ v! q- e7 z0 x8 b) q: v# h: r$ n
方法: " t( S) J. n6 P
DB::update()
- k9 m2 E) @# f% j6 Z% s3 W参数: ; W$ n9 k5 Q$ l8 j7 o
$table:更新数据的表
_( `) V t! A- a4 k2 g$data:更新的数据,字段对应值 8 r) k F9 X/ y- @( I; G0 f8 A* j
$condition:更新的条件 ! o8 j1 F& _: ]& ~+ l
$unbufered:是否使用无缓存查询 ; G4 k- U, S% R% J
$low_priority:是否采用无锁表更新 , X9 a4 M9 I {* X7 G
7 @: @; Y( X4 ~2 g
数据表查询(单条):
) ]1 N8 _( o; s. [方法:
8 r8 ?" n2 `( xDB::fetch_first()
+ K" y' C, b1 {1 B" `4 f+ x) k8 V参数: ) b- G" t" @( }7 t- X4 |
$sql:查询数据的SQL语句
5 U5 S# I2 h, k: G$ Z$arg:绑定查询的参数 ' R" x, {3 D6 m# {# x# v
$silent:查询失败是否不提示 ; E6 h% F u6 r6 F V' t
实例: ! `) R& h" n7 @4 ~. X1 B
$id = $_GET['id'];
& j B) ]9 V$ Z/ qDB::fetch_first('select * from %t where id=%d',array( ; r! g. M. F' P
'test_db',$id ! Q# H- }- S3 k) `2 Q& o! m
)); 2 Y0 ? x$ p: f' F
& r* S4 ?( Z" E% o0 s3 m
DB::fetch_first('select * from %t where name=%s',array( ; y8 v6 U3 Y# A1 t
'test_db','ccc'
: C+ |+ R, D0 P2 l) e/ W));
% ^' K* g7 d" D- e( r* i% s- O
! k2 @: x- o% b5 g* G* M4 G( l5 K }$ j
4 E/ I+ C. g+ |% |& x% ?
数据表查询(多条):
' r$ ~1 ^+ [* P" @+ q方法: - A9 q: u* U, Y
DB::fetch_all()
$ f, j4 c. j% [" M+ ]0 _参数:
: d0 D# \, T6 g" a+ Z& q$sql:查询数据的SQL语句
7 b) r; X( J4 _& Z) m, L) U- l$arg:绑定查询的参数 / Y: W4 j4 D+ n' h, |6 O
$keyfield:一维索引的字段名称
& n# l# t6 T8 `/ u% b. v" R, d$silent:查询失败是否不提示 - u# }- I/ [! s! V4 S
实例: 8 H4 P2 a& e; G3 v/ x& ?; c) v
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
$ B# [$ L+ y; e; r) W$ p) u'test_db',7,10 6 r q8 _4 [; Q0 `6 s. b; N, G
));
4 D7 G2 K& ~/ ^( e0 [* |9 k' d. N3 N, q
DB::fetch_all('select * from %t where id IN (%n)',array( / N& X: ?" D# b. _: m
'test_db',array(1,2,3,4,5) 3 ^0 s7 U: }8 U. o: a
));
/ k1 ?/ ?8 h. Q6 g" F6 b" H1 p$ u: o5 a7 y; W9 p
数据表查询(单字段) 常用于统计查询:
* W, P/ L6 [8 \方法:
" F# A9 S+ g( D" u$ B+ ADB::result_first() 9 ^% B& W/ b; {- f7 R1 g
参数: . I- d. k3 t. ~! r
$sql:查询数据的SQL语句 ! ~- o' n1 y3 S' r) \: g; P4 A
$arg:绑定查询的参数
: s0 L$ g4 b* q7 I$silent:查询失败是否不提示 & T/ ]6 z% j1 ?* O% r3 A# L
实例:
. @& N" Z5 d oDB::result_first('select name from %t where id=%d',array( 8 |5 r& e9 @ {3 P6 u& Y1 ^- c
'test_db',1 J; p9 \5 `& ^6 d) S, a( [, k2 c
));
6 q& L" v- v4 n/ m# O" D m9 O# k, ^$ o) J0 l
DB::result_first('select max(id) from %t',array(
0 k& {& K) L5 Q' l" B'test_db' 2 C6 E% S# t; E( {! a; M
)); , I5 _+ o p; S& B2 ]" [0 S
5 | O+ N) C. M! r) Z7 f# L. n7 x
数据库自定义query
* I/ P+ S$ X' o' e8 h }方法: & P' k0 ]% L4 J. q
DB::query()
9 a& A' Z8 b* n3 Y! r1 Q7 T参数:
, R2 h) j8 ?0 b: x' |$sql:自定义SQL语句
# S$ I& @) G9 ~$ f6 n$arg:需要绑定的数据 4 H& P& }" l) |7 D, R. g1 v
$silent:执行SQL失败时,是否不提示
; V, Q2 O( _; u5 ~0 i3 T$unbufered:是否使用无缓存查询 H. P/ ~/ z8 K2 I0 `
实例:
: d% H) \! B8 V' k* g. o/ q$query = DB::query("select * from %t where id IN (%n)",array( ( V: L& e6 C! U' t1 y$ W2 K* o
'test_db',array(1,2,3)
$ b- o6 p# H& P8 H. ]));
2 r) Q: k- a- j) w3 M3 jdebug($query);
/ A c; A) L- I, m9 h8 G K
! {0 e# M& Y7 w1 z3 g" t, k; }# I删除
7 n1 n9 T, n, f' @$ D6 iDB::query("delete from %t where id = %id",array( 5 |1 E6 z8 a* o% n% R
'test_db',11 3 |- t; \- h5 ]$ q
));
" _0 T7 O& K+ O5 u
9 N2 p, I6 D( ^ P& L* E7 P0 s4 P6 p/ l, q7 k4 x, _: @
资源集转换结果集 + }( c+ T, D! ^& C4 t
方法:
8 O! y# S- y2 e) |. oDB::fetch()
4 R, ]# [( m+ b6 o. R' Y参数:
# I6 G2 [1 d2 h0 Z4 S2 J$resourceid:数据库查询的query资源 ; y) U# t F1 z+ u% v
$type:数组类型
4 V* Y6 z$ L0 Q l3 Z实例:
% D& c% T" A1 ]查询 / T. ^8 ?7 I9 n$ `' v0 ?. J' V0 R) {
$query = DB::query("select * from %t where id IN (%n)",array(
! \! m8 v6 |1 C'test_db',array(1,2,3)
% k4 j$ S& Z6 I [3 y0 \3 _)); 9 o9 x/ k! ]$ T
while($res = DB::fetch($query)){ - Z8 l2 y0 x/ S0 C! v0 l
$result[] = $res; 6 l: w/ g+ O/ z' N
}
8 e/ A( z6 S5 G1 R9 f: Z2 cdebug($query);
" B6 |, q3 M, Z) {- |. _% I2 J; _$ b, b( O% x* e7 B
单字段资源集转换结果集(一般用于查看获取统计值)
" L9 B K6 K# p( v6 @, P9 |. q方法:
! l/ r5 m2 R4 P, ?$ [DB::result()
! s% V3 N5 `7 D$ v2 v参数:
4 |6 V* V% y/ O6 k/ t. u$resourceid:数据库查询的query资源
( G% `! O5 V% z# Z3 S$row:指定行的第一个字段 Y( P7 o6 ]0 z; Z+ H
实例:
5 Y4 |" x( g2 z; E$ [2 F+ s3 P$query = DB::query("select count(*) from %t where id < %id order by id",array(
" r( m" D1 R( k9 g7 J! v; g! y" V2 }( ~, B'test_db',10 9 J4 q- s& N! D" j6 C
)); & a- S7 }7 m0 R: Y
$data = DB::result($query,1); 3 @' j* e R5 [& p5 {
- d3 M" k# r% R& ]1 ]- O, {" ~0 d
常用实例:
0 i9 u7 e! p$ p2 n( H4 n5 ^$query = DB::query("select count(*) from %t where id > %d",array( . E4 u6 V4 D x: A# M
'test_db',7 ; t* {2 b& [7 P! ]3 J. S
));
( `! ^- e6 r- m) ^8 B. j$ e$data = DB::result($query,0); 5 w7 z8 s) a* \
echo $data; 4 m+ S! B* ^/ I
: Q5 C: |; H2 q$ k
资源集行数计算(不适合统计太多的资源,速度慢)
. @% C; K# S5 L; `3 R$ D方法:
7 N' d$ n" V. ^% _7 MDB::num_rows() ( c) w/ Z' I- A* L9 F* r( B
参数:
" ?) ] q+ C% G7 x( Q5 r- W$resourceid:数据库查询的query资源 ; y6 c) i; V$ s" L: S2 ~( b) o9 x
实例:
( u& W0 m$ o9 w3 c4 m7 L$query = DB::query("select * from %t where id > %d",array( 4 O) x1 R. Z8 _/ t* a2 }
'test_db',7 q4 b# B+ L- ?4 x8 C; W) j: E
)); ' C5 s9 N, Q6 ?% a$ H- g4 y/ I g
$data = DB::num_rows($query);
- Z, K3 \1 G2 G1 ?7 ~# q1 becho $data;
1 R" q) ]4 y7 D7 {+ a; D8 b5 a0 V( A; R O. e( g2 ?/ x
资源集资源释放 / ?6 j7 j; X% C4 d4 K+ @7 L
方法:
: \ ?8 p/ h% y+ C4 Z2 [DB::free_result() # K: d W4 a; n% W: E" C
参数: % t+ h8 h# ^, V2 n+ t* b3 T
$query:执行SQL语句的query资源 3 }0 j* O( ]4 e' ?! o. p
$query = DB::query("select count(*) from %t where id > %d",array( 9 H. O _$ P: [5 Q5 r( G/ @
'test_db',7 # D' B+ I( u; b: s
)); ; Q' u; {4 {6 x+ Q
$data = DB::result($query,0);
: o' N0 t4 Q! X6 a3 ?$ g. h4 tDB::free_result($query); ; t$ I$ f! ~ E5 y- W/ D
echo $data;
1 O( q; D, x7 ?2 [- j9 G
/ b" C! F+ X! A) q按字段排序 ( ~- I7 S1 u+ A+ d0 B
方法:
; n2 I$ _) J1 e! c% w) n5 ADB:  rder() ! {( v2 a: X) A: d! p$ p* D) J* S
参数:
( l/ E. U* o/ q. u C. p$field:需要排序的字段
3 G% F3 o- Z1 x: w8 t" ?$order:排序方式 , `* o1 x6 ]# L
实例: " B, }4 F. l' u! ^$ S) M
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array(
6 e3 |0 f5 X3 H/ h# S& }'test_db',7
% C( {4 _2 h) z4 J: z)); 3 T% e0 J7 D0 x
$data = DB::result($query,0); - Q) w1 z% r7 K8 m. d d. h3 v' y
DB::free_result($query);
" F! U: A1 j/ R/ X$ v& Zecho $data;
# ?; t0 r( F0 @1 k
) c5 L. L; N+ V7 E8 k取值区间设定 9 l1 d! S5 j( H5 y$ G* u4 E
方法:
5 b: ^: |8 p. CDB::query()
. l" R- Z9 V/ E, R( X7 E$ @/ J参数:
% j+ G2 z. a1 c& c3 X+ o$start:开始的索引值 2 j; r1 f$ h. \& y
$limit:条目数
' U# M3 i# p! ]# y+ Z$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
) @3 x7 N8 ~2 ]8 Q/ G' S& n- L. k'test_db',7
. B6 K6 R2 S4 U));
7 e! k0 D0 t+ Q' N
, e- y9 _; I* [- p* X字段拼接 8 ?/ x9 q7 C: W, p7 k& Y4 R- J$ D
方法:
. P Q# Z7 l% Q5 X) G& e5 `& sDB::implode()
/ a6 ]. w% u4 ?5 D0 }- F& }; S参数: 4 m s3 `# r- c8 r
$array:需要拼接的字段数组
. s5 [: ?( K1 S3 K: {$glue:字段拼接的字符串
- ?9 n" A( q; e实例:
# Q7 T9 K+ f4 _8 R7 T1 Z9 C+ `8 eecho DB::implode(array('id' => 10,'name' => 'ddd'),'and');
; T$ j$ a% G& U' w% T$ o' Z% n g) R2 D5 x+ L; b+ J1 }
应用: : K8 L2 {" b9 l" R
DB::query("update %t set".DB::implode(array( ) t# r# ]4 A' n
'name' => 'ddd', . K c( U) R2 J ?* l
'id' => 22
7 i& a. O1 V/ }7 v: @)).'where id=%d',array( ' S0 t% n; G: d% i/ c: j
'test_db',
- B' A; N$ x* y f/ d$ l10, 1 L N: \; z9 A( H
) " h; D0 v2 J0 z4 T' |( W
); , ^7 O( p/ A u8 d. F
' [3 \6 j- @" P
字段数据设定 $ `7 w8 I: s- m& s
方法: " J4 _% z: E. q" n, }$ {
DB::field() {, R, N2 I' c, h4 s
参数: K5 M3 `; |7 @) M
$field:需要排序的字段
3 I/ p5 G1 s" j0 ~2 C& h6 d, ~$ I$val:字段对应的值 8 M" L# a9 M# u( ~8 t, F
$glue:连接字段与值的类型 5 v1 d2 d( Y& u& m4 }0 F9 g
实例:
- L l- d, L! z" c, g9 LDB::field('id', 99, '=');
) I A L: h* Z( _# Q1 ?
! ]% t8 i: E; d1 ]8 k8 x3 {应用(把3改成99):
/ M! Z# A x3 K7 N8 oDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
% D2 q; x5 \ R8 ^9 U' C" Iarray('test_db', 3);
; Q' ~- o0 g) l3 t- \% w));
" Z5 s6 I- H3 x- L& u, O
|
|