数据表插入: ; A0 X' R. J; D4 X
方法: - m1 B# y) w! o, j& Q
DB::insert() 2 M. A3 `/ |0 A6 t
参数: ! X6 a7 Q# L# x3 j3 E, y% v
$table:插入数据的表
9 b) N1 G5 B" C5 x1 b5 V$data:插入的数据,字段对应值 7 q7 ?0 U0 v: x& ^. l
$return_insert_id:是否返回插入数据的ID ! ^) R+ c0 Y9 @" I/ P6 Q
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
8 M; D8 x% Z3 ]5 n$silent:操作失败是否不提示
% I8 l4 h+ z- e' D
" ^/ O* _+ t- ~0 i' F) V S实例
0 G3 N; Y, F O) m" O" }7 RDB::insert('test_db',array( ( Y* F \1 V& Q3 }, J% M
'name' => 'ppc', 4 C) G9 |; a$ d) r* g
),true,true);
, u3 A# W* t* U+ q, |5 P. @8 i/ Q8 A
数据表删除: 6 T# o0 P# D; ?) V' B' e' |
方法:
5 c% V* v( q+ X0 j' ^& SDB::delete() 6 c& n4 {7 r/ L% f# L- M( [# s! g
参数:
$ \1 x# l/ m: D3 t- S' {$table:删除数据的表 $ \: E$ W6 H) X }/ f
$condition:删除的条件 + b. v6 k0 n; ]4 e7 o/ R
$limit:删除满足条件的条目数
! ?# T# ?, ?8 ]6 S# { L0 P$unbufered:是否使用无缓存查询 , C- g/ i" z* R, E9 q3 ^
, y! H) Y7 W+ V5 X5 n实例:
8 Q4 ~# T5 }7 YDB::delete('test_db','id>2',1,true);m 1 k2 X/ H& Q/ ^& ^( b; Q5 @: A
4 s/ I5 a y l; g2 l0 [2 T数据表更新:
8 e/ _3 D4 X Z8 e方法: m* A d& ^) P" [6 L$ z
DB::update() , h; m/ n3 b; \/ c
参数: 8 q; f/ @) C8 R3 z
$table:更新数据的表 0 M+ a u: T2 _$ o. p
$data:更新的数据,字段对应值
- v8 ~9 j- S6 F3 _$condition:更新的条件 : J x2 t$ e9 g- @
$unbufered:是否使用无缓存查询 6 R7 W' e) X: N) K& B4 }& R
$low_priority:是否采用无锁表更新 , o: p+ J" D1 s% z7 K: X: r1 Y
+ E, u( }, B5 O, w- s" z" @1 N5 e/ U/ V
数据表查询(单条):
7 A1 Z* u0 H+ a9 g! w) ~. A$ C+ y方法:
6 l& C7 T# L$ w7 Y# p/ {0 VDB::fetch_first() 6 \; G; T2 y# b* w
参数: % q9 C% [' K9 [1 d0 f+ e8 t1 F! j
$sql:查询数据的SQL语句
+ p4 R3 e( r3 J/ O+ y$arg:绑定查询的参数 % l3 a2 I! t, q" C6 |
$silent:查询失败是否不提示
4 \+ V# y6 t! h* @: d实例: 4 I/ x; D: w: u4 {$ E3 Z3 a
$id = $_GET['id'];
P S% w. Y9 B+ r7 E, r xDB::fetch_first('select * from %t where id=%d',array(
0 h4 Z- T( P$ n7 l'test_db',$id b5 F A% l4 w! I3 H# T4 Z
));
) j7 U% L+ w: L% A+ h" p1 c; D0 J9 s9 V' n4 z) w
DB::fetch_first('select * from %t where name=%s',array(
/ H! }3 T/ W( e'test_db','ccc' ) I m7 G0 {& P+ B9 j Z. B. n
));
+ _& `/ a1 A; J! b3 t n3 G
8 |; j8 t* J, B+ k$ m
1 K0 K* l: L/ F0 w; a8 t* } r% w8 Y0 D* v
数据表查询(多条):
" U0 i: s, j# V6 V( h' k Q方法:
* A- i1 i5 f, y5 T) v7 YDB::fetch_all() 3 n c! W' e4 v- {9 F3 X( o
参数:
2 u6 l2 @3 {: x$sql:查询数据的SQL语句
% n: ^5 U6 ^: g2 P Z% Z" h; o$arg:绑定查询的参数 0 e9 L, c7 m* ]; ~1 K
$keyfield:一维索引的字段名称 5 N! ^# R7 c. s* U& Z, N
$silent:查询失败是否不提示
9 L2 [, L+ V B$ z" Z, S" Y6 z实例:
% P+ Y$ D1 X% Q0 C# f8 J( YDB::fetch_all('select * from %t where id >= %d AND id<=%d',array( / q5 f/ |& Q6 m- c3 t- z* B, T
'test_db',7,10 . {1 a3 s% q& o* F4 z+ q
));
4 A% U" S# R( z& Q/ ]" ~8 L, ?
1 Q5 I. A( c9 w5 v0 B" `1 GDB::fetch_all('select * from %t where id IN (%n)',array( 5 `( A9 ]" S2 Z$ `$ S& \
'test_db',array(1,2,3,4,5) : w% o- _% p8 C& W* R @+ P
));
8 j; ~; P9 w/ O+ V0 r$ M1 l& Q( }( q& c. q5 H! {+ p
数据表查询(单字段) 常用于统计查询: 4 O) Z* | h o% y. K
方法:
( k& A6 b/ W/ s0 dDB::result_first() 9 _+ S* @9 ?7 w. E8 j( r, F ^" J. Y
参数: / ?% K( h' Q$ e. i) w v5 e& C
$sql:查询数据的SQL语句 & X: s6 P J* c9 ~) ?2 A& c
$arg:绑定查询的参数 9 m4 [! D8 Q. S
$silent:查询失败是否不提示
$ V/ [! P& W+ ?4 l实例: 8 }8 D1 D- y5 o J( h1 [
DB::result_first('select name from %t where id=%d',array( - G% B6 ~2 } L) J" C4 `2 `# o
'test_db',1
8 z, Y, h; K3 {2 ]7 o1 B; G+ V$ p));
4 ^) X8 ~8 u% b/ R" N/ h2 \
6 t/ t! \- b* x/ RDB::result_first('select max(id) from %t',array( - X1 R' j5 [: X7 u- p7 A" T; g
'test_db'
* P p/ X# V7 v7 ?5 u)); , {. k4 G7 w5 S; ^" b- I
) x: L. t9 o; _, M" j, x% x4 s数据库自定义query 1 _$ j0 [, L( o
方法: , c, [- t7 F5 m; x
DB::query() ) z, C5 a% V8 c/ ?7 O W3 _: ]- Z
参数:
2 n% m5 s5 O I0 j8 A! E, R$sql:自定义SQL语句
) J. Q9 a8 @- ]) c+ h$ o$arg:需要绑定的数据 2 a* X- d+ G" ~# y- M
$silent:执行SQL失败时,是否不提示
" t/ F2 u9 c4 U2 b& E$unbufered:是否使用无缓存查询
$ |! G5 s3 r' c9 H2 A# C实例:
' g$ q" j* z, G# L$query = DB::query("select * from %t where id IN (%n)",array(
% k" Z6 m9 Z. Y' V' }, I$ h'test_db',array(1,2,3)
. S' D1 F* X5 o. ]2 V& R$ G" J% y));
+ }4 c& J z* @+ g/ P; b" m f* r6 _debug($query);
6 {9 V# z9 F: L$ V1 }; R5 h: s, p) X7 j
9 s# }8 ?' Z! N/ \删除 6 E) S- a* E7 X
DB::query("delete from %t where id = %id",array( % D0 e6 Y- x- ?8 `: p' P" Y
'test_db',11
! j9 a4 Z( E1 a8 ~! b) K+ F$ Q));
3 b1 M) G/ ]% h$ d$ n' o! b& `, Q: Y1 B: \
. f# b; |4 X2 v+ x. B
资源集转换结果集 |; ~8 C( `% e$ K/ @1 ]: o
方法: ( C: N/ @3 P! b/ A4 ^: E
DB::fetch() . F; k( B# T" f
参数:
, \) ]* n. R" u& O, h, u9 `$resourceid:数据库查询的query资源
( u6 n4 b/ w, D' ~, u9 P3 B# a$type:数组类型
1 N! J+ \2 h( d$ t$ x! e8 ^实例:
7 d. \) r& D( d查询
9 |' A" Q$ h) L5 H5 y- G2 R& Y$query = DB::query("select * from %t where id IN (%n)",array( W$ ~ {( X6 g
'test_db',array(1,2,3) ( {$ e2 J! a) U! m) ~( z- J7 U
)); 2 S3 \5 { d8 Z& \
while($res = DB::fetch($query)){ 3 X, \; M4 Y8 a. S% B6 a
$result[] = $res;
* }' t6 k3 M' U ^1 k3 `, J6 k}
% t4 k8 `9 U7 b8 ?2 X8 f/ pdebug($query); 2 D2 C+ O7 R6 V! k5 B5 p
2 O: T3 a* Q: Y
单字段资源集转换结果集(一般用于查看获取统计值)
& S% Z) d0 x4 b9 X" |8 M' l$ z方法: 5 X' J3 P$ j- I0 _
DB::result()
" S9 n' p# z1 F3 M" i参数:
* H' S+ z& _& {" u1 g% {# P$resourceid:数据库查询的query资源 , \8 e7 F8 ]3 Q2 E' k
$row:指定行的第一个字段
5 [, W) U8 ^3 }7 D- T7 ]实例:
3 [ \; [2 Z9 z2 i; z0 h$query = DB::query("select count(*) from %t where id < %id order by id",array( 4 O" I$ F) J8 M8 \$ s; N
'test_db',10 + ?+ f! d' R* I( ^( |7 J) C: p9 p. O
));
+ u- ^6 l E) z% z/ Y6 t* ~' e$data = DB::result($query,1);
1 o. T. `$ j# U Z' ~1 ]$ \- I- C+ c- O+ Y ?
常用实例: # l+ o4 B1 i9 q
$query = DB::query("select count(*) from %t where id > %d",array( . u/ o& Y1 I4 O5 n8 y! @
'test_db',7 $ m2 R3 O- C: y& K5 {2 D; ?
));
r4 \. \9 D N/ Y$data = DB::result($query,0);
4 w% r g. c# x8 zecho $data; ; U* ^. G7 Z9 R
9 v( Z8 C* Y( B; g, A
资源集行数计算(不适合统计太多的资源,速度慢) ( I2 r$ Y, r! J- y8 M) [1 t U
方法:
+ M) t5 V4 B dDB::num_rows()
. Y% u' e/ _$ y- C4 f参数: 7 M; T! \ F& w; d
$resourceid:数据库查询的query资源 5 I' P$ b) a2 @
实例: % \1 c. X L4 }! S7 s" j
$query = DB::query("select * from %t where id > %d",array( ; H8 g, s0 ~: n5 W$ q0 i6 g. g
'test_db',7 5 l! s" b/ p) M# A/ e, f7 J# N* G
)); 4 y3 K- |% E; B+ F4 G1 x3 U
$data = DB::num_rows($query); " P' ?+ k9 [% q& W$ l
echo $data;
; L% P1 ^! s6 ~* g) o
6 n3 Q" s' M$ U; w: I7 `资源集资源释放 ( i' s1 L/ i8 ~% Q( o$ M: M& d
方法: q/ x L; e# Z9 H/ G
DB::free_result() - s8 u5 x P1 A) x- T
参数: 9 }" b5 V$ U8 J/ U
$query:执行SQL语句的query资源
) H; i, x8 z7 b! l# Q$query = DB::query("select count(*) from %t where id > %d",array( 3 `* P/ y7 y. N: S2 _* ?3 W. J
'test_db',7 0 l. @2 |8 p) F
));
( p( P4 Q, _& \$data = DB::result($query,0); " v7 l9 G5 \1 I! v: g
DB::free_result($query); 5 v9 H& v8 w* v1 `# Z
echo $data;
6 n( v4 Z# ]" r; {; t) D6 p
2 O$ S f/ S. T' S! F2 Q按字段排序
8 B% U( y& {- M4 D* E+ d7 O方法: ! P9 G6 R/ X. d: }: X: t. d
DB:  rder()
6 G) x4 b, F, \5 F参数:
7 t& k" V2 U$ q& \6 i# g$field:需要排序的字段 - Z- l( p/ r' h
$order:排序方式
" ^( i/ d" r0 w+ e实例:
) Y! k4 I4 S; A8 f9 e# h$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( 4 X+ m0 v+ h6 w ~; T! b$ [
'test_db',7 1 U# Z0 B5 w3 o9 k& ?/ m
)); ' Q6 m0 Y9 m8 a
$data = DB::result($query,0); 1 [% r3 u" `2 Q! m# O }
DB::free_result($query); 4 ^8 o6 D8 R' Y
echo $data; ( ^# G; ]- M# j) W9 y( l
+ G8 V' x' g1 w; ^6 j
取值区间设定
& G2 q) J, b9 \" b' M方法: 1 d0 a! c! k7 o' n
DB::query() 7 g6 n8 C1 W& r( W0 l% I" C5 @
参数: ' x* j) |9 Z8 J( T) O
$start:开始的索引值
0 p+ s# \% n$ [8 l$limit:条目数 5 _6 h7 L% Z; q
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
3 R3 g, O" \: A. M, I T; u% ]. _'test_db',7 ) k- E( ^( Z0 S3 I$ [1 T) L7 W
));
9 L) f0 ]2 @$ J) G& |
, A+ s2 j: ?' k' C$ z字段拼接
8 l5 V2 t' Z' X$ F方法:
" t$ {1 u+ a) X" `) `DB::implode()
8 U' M. o J8 A, @) Q参数: - M6 u' m7 q8 b
$array:需要拼接的字段数组 3 O# }3 p9 n! m. {0 [% |+ u# u
$glue:字段拼接的字符串 7 q( f5 a3 x6 U2 X; q
实例:
$ x1 \) I% q- j1 techo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
- ?4 h& t! |/ I9 x5 Z9 Z
1 B7 V% j z9 I% ?. ]应用: 4 u1 R: i0 _& G/ N+ M. }& m
DB::query("update %t set".DB::implode(array( - y# ?0 o4 _2 y1 Y- N
'name' => 'ddd',
; H/ l9 ]1 V1 t'id' => 22
( S9 r1 U" G+ S4 Y1 ^4 v)).'where id=%d',array( 3 g; _7 Y! R6 F7 y7 y' y
'test_db', , V# W; _( S2 l( |5 \6 H, G @ L$ [
10, 0 g% s0 N; \) h1 I% Z
)
3 A0 H$ F* `! `0 B9 u);
* x* `( y5 P/ Z" D0 \% x
0 w/ D- I v* w2 s' _0 [字段数据设定 # @+ r. Y/ A) K h- E
方法:
! J# `( ?) g2 t6 K) L5 u" n; NDB::field() - Y- Z! q5 E# @* O! w
参数: 0 S* D7 B6 p0 g) v2 A; \- H
$field:需要排序的字段 ) U6 x0 x* m X) m: V( w- o& U
$val:字段对应的值
, T" x1 r5 e& c# r" s/ n, E$glue:连接字段与值的类型
/ F) @( Y& @0 a8 r, |实例:
- L6 H# `2 [& vDB::field('id', 99, '='); 7 @2 ?* v7 ^- L( ?, ~, k
}/ G6 ~* q7 g g' X应用(把3改成99):
5 ~9 b# t# X; A: x- \0 y6 G$ TDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
( ^, d0 q/ [5 d7 q" r8 D) s7 L* Yarray('test_db', 3);
0 p" z7 \+ D/ C));
; {# [6 y* g, g! f3 I+ E
|
|