数据表插入:
0 E4 S: p8 J& W/ y3 ?# t方法: 0 R& I. m9 c/ r6 p1 R
DB::insert()
# L$ k F; |! L: k) ?8 J" x' Z" r' n$ S, G参数: * }& o( [" f: F% h, S' ]
$table:插入数据的表
6 q6 \9 q& L) K$data:插入的数据,字段对应值 7 {: w$ ~/ r: |8 ~; Z
$return_insert_id:是否返回插入数据的ID
/ X$ b1 f; b& n) P* @" n$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新) , A1 Q+ c- ~" B$ T A
$silent:操作失败是否不提示 $ f5 Y5 l2 w/ _+ z; E+ n% g! D
" p$ t: x+ |. m9 F实例 6 v, v# T6 }, n( B, p
DB::insert('test_db',array(
2 g' S) w. e K. t'name' => 'ppc', ! I5 s" P, v0 w0 ?" K
),true,true); * X: c0 L2 Z5 ^) N) M5 r# |
4 r+ h7 `& g7 b, b3 y
数据表删除: 0 H4 r* l8 r) |1 t. P, o2 u& B" g
方法:
, a9 `/ s E m3 [, Q6 i# G2 CDB::delete() & d/ c) [: c4 _5 d4 U
参数: ) [: \, R" q4 o- w
$table:删除数据的表
' Q2 c, O/ }4 L( f* l' r* A' w$ E$condition:删除的条件 y2 ~" N7 _! Y" |( G. z3 G
$limit:删除满足条件的条目数
" h6 x8 x8 D" i7 J. Q$unbufered:是否使用无缓存查询
5 h' J1 C& z: o% o& M
. U: m8 y: Y( p3 u1 g; b( S实例: ( n; X+ E1 C) O. x6 d9 F3 N
DB::delete('test_db','id>2',1,true);m % i. v* n4 n& r; |
, w) L0 m) A* {. V: n数据表更新: ; k% E/ {% T% b- A2 |
方法:
, P L% D$ u" U7 n3 j0 KDB::update()
p/ R. d; _# y/ G参数:
" H% }/ b! P# |6 |: B; z; r+ o* H$table:更新数据的表
# ~- t2 f# W: @/ c* G$data:更新的数据,字段对应值
( \% @4 x- t0 f5 t$condition:更新的条件
/ m& N: m) A; M8 ?; u* c* J# B0 T$unbufered:是否使用无缓存查询
' Z* g7 d- G- F5 m5 B" U: x0 B/ Z! D$low_priority:是否采用无锁表更新
3 c% ]* Y l1 B3 u" G, i) [- R
% w# l/ J, l* f$ F. `# z数据表查询(单条): ; Z2 [+ M$ V" ?. J
方法: 2 W+ |+ o3 Q) b& d& L" z, K/ }5 m
DB::fetch_first() + \1 n! r8 ]4 c/ w
参数:
+ w5 z$ U" ]! Q4 {0 a$sql:查询数据的SQL语句 # i# Z; B) {9 g# m2 ]
$arg:绑定查询的参数
7 I# j) l; ^. m& h- L. [$silent:查询失败是否不提示
1 V) m* a; k3 s实例: $ @& _4 i& X V* `) a+ F% e
$id = $_GET['id'];
8 g- ?) A% p, G& fDB::fetch_first('select * from %t where id=%d',array( ! _! I' c% \% n
'test_db',$id
+ J$ a4 Z e; _/ @ x+ D));
3 H8 w; T+ S6 f) Y9 u6 g* Z( f9 Z4 C. j
DB::fetch_first('select * from %t where name=%s',array( 7 B- B. t. R4 I/ _; X
'test_db','ccc' ! C3 Q7 \; p8 G( Y5 L
)); 1 V* t' i4 U/ P% x8 D
4 Y7 p* t- i( H( W9 F4 ~+ w$ D9 z! M
: D7 }' U/ }- ] e# o$ d7 Y
* f# o7 q, l/ @% K数据表查询(多条):
3 b! b1 g% F9 F+ N* d1 I6 A0 n方法: . b+ K+ u. Q; c: {( d, s% X
DB::fetch_all() $ ^8 _& F. b$ \
参数:
3 W5 F; H7 v- E ?$sql:查询数据的SQL语句 - s5 P# x9 C( ]. J- k& O- O
$arg:绑定查询的参数
$ B1 F! f$ C4 _0 U9 A6 z W) i$keyfield:一维索引的字段名称
- ^) \$ s1 D, m# k) i$silent:查询失败是否不提示
; _1 f3 v1 Z6 `* H实例: 7 @+ ^/ X9 d* N8 y$ H. F
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
2 ]% W/ }* D5 @4 `# n7 k. E'test_db',7,10 * K# U$ _, M5 `' L! I/ _
)); 2 Q. A5 H4 I' D
/ s% d* a* u4 u# @DB::fetch_all('select * from %t where id IN (%n)',array( 6 G1 z! G; a9 G& X6 }/ B
'test_db',array(1,2,3,4,5) & m V8 z! |7 S, }" L7 o
)); * w5 B, O3 n2 G {5 A3 t
! g3 N% O2 s$ R
数据表查询(单字段) 常用于统计查询:
$ W% N* ], N+ |$ X方法: ; E. H7 a/ H! j) b* O: b, X
DB::result_first() + t5 v# e" F3 C) d8 C# f/ p ~0 ~
参数:
4 j2 y$ P; e0 H$sql:查询数据的SQL语句
; C1 F6 b0 I9 ?$ g$arg:绑定查询的参数
7 l" T8 _; t# \4 x2 d, d7 g& q$silent:查询失败是否不提示
* B G) g, R! }4 ?( H! x- N实例: * G" Z/ }2 ]3 U4 f
DB::result_first('select name from %t where id=%d',array(
! S% O, A+ k3 c; Z& @2 |1 z'test_db',1
% a* k+ W# k# A1 D' w));
$ R2 h5 t& G% u$ `& C% i3 `- w( i; o4 I
DB::result_first('select max(id) from %t',array( . F- [ e y% D% E! L& t: v
'test_db' , W- E7 o; p$ f0 A4 `
)); , ^. S+ [% J& x
1 ~9 O7 D B$ e' n
数据库自定义query * W- } ?; {0 d- B
方法: * ?' r$ [7 h. C+ w- U) ^) J- Z6 P
DB::query()
+ ]" {$ B+ X* W, t6 w1 e参数:
+ x: D7 ~2 y& k) |+ U; g3 q$sql:自定义SQL语句 7 Q4 @4 O2 v% E# Q; j! Q' W3 b
$arg:需要绑定的数据 : m0 ~: U- w% h8 g) {! h
$silent:执行SQL失败时,是否不提示 # X" S) M! Z( G; b' n4 _6 a& q
$unbufered:是否使用无缓存查询 . N2 V/ t# c( k1 \0 Z) k( H& R
实例: . h ~6 P$ L( X6 W
$query = DB::query("select * from %t where id IN (%n)",array( 3 N2 W& N- L" d' G+ m- ]4 F. J
'test_db',array(1,2,3) : v' I, D$ x" @8 w: {7 L' H
)); ' J- O' d6 L0 t3 x" y9 \1 o7 U/ u
debug($query);
2 b6 O/ }7 w" Y/ d9 `) `! z! r L- ?- V8 E
删除 $ b: ^ o( Y+ T
DB::query("delete from %t where id = %id",array(
* }- ^6 C& C2 ^2 N9 A ['test_db',11
/ z8 l* h1 N ^5 n& p));
- s: s% e' I4 o5 o$ R1 C1 V" I( G' s$ x: r& O7 }2 L5 L
" x7 ?$ @( g1 y0 j5 g
资源集转换结果集
+ ^3 R8 o9 o1 e4 e8 `方法:
3 R g. |! R* S$ j$ e5 |0 j; ~DB::fetch() 2 E' ]# ?& k' g: i; S/ V! z
参数:
2 v# r! s/ N- q( u! J$resourceid:数据库查询的query资源
# Z5 f: p8 v8 y$type:数组类型 0 Z/ n/ {2 g7 z ]7 m* p" f
实例: / _ W* \; \' W8 M' X( p) g+ A F
查询
1 z% ?2 q& H/ K" o$query = DB::query("select * from %t where id IN (%n)",array(
+ D5 R! O9 S: c'test_db',array(1,2,3) ) ~7 m/ C {- g: Q6 u' S7 h
)); 3 F: T# g2 H1 x
while($res = DB::fetch($query)){
G5 z# L1 y% F' Y $result[] = $res; ; G; g2 _' X+ M9 f
}
: M# f) n5 s7 X; w1 X+ Sdebug($query); 3 }7 R6 b8 b s( S: t
8 K. n" ^8 H; }, A/ T单字段资源集转换结果集(一般用于查看获取统计值)
+ \0 ^' K! r8 K9 G/ \方法: 0 ^4 [) l( r% D5 s' [
DB::result() 1 A; D% L9 H* a$ h0 E; J- c. k
参数: # @2 w, l _2 ~; Y0 i+ v! j6 t. f
$resourceid:数据库查询的query资源 - l2 o1 `5 M( P/ Z; ^3 i
$row:指定行的第一个字段
" g: ?/ }7 x/ p7 h) y. z+ _1 I! @实例:
- s9 j2 Q( {* N( F8 Z N$query = DB::query("select count(*) from %t where id < %id order by id",array(
( {- E6 n9 r0 q: I6 ?) q9 x'test_db',10
Y, |- V! y9 S3 l7 F$ F)); / x$ a) H7 Y2 _' J. n" G( S
$data = DB::result($query,1); ) |3 U3 L% T: a& n! ]
# e4 W! i- ]: I
常用实例: 6 O6 [5 `# B: R* }
$query = DB::query("select count(*) from %t where id > %d",array( $ q8 s1 q' Y$ Z; Y; c
'test_db',7
4 s; X' p# J' D1 c6 |)); : Z9 r- U; l$ P: g2 T' h9 O
$data = DB::result($query,0);
) w- _1 J, q. k* l. S" S* Xecho $data; $ H# |' M4 b0 Q1 Y$ N' q E8 w
* F4 `1 m% r3 X0 Q2 F$ F y+ o: V
资源集行数计算(不适合统计太多的资源,速度慢)
9 o) O0 H& h' ^方法:
7 O( q7 N6 E+ T6 H. t7 w. k" \DB::num_rows()
; r+ v; ], ]" y9 @7 R ?* T, T参数: 7 l j. P: `' o& A0 ~+ [6 d
$resourceid:数据库查询的query资源
2 Z/ |- L$ r( j实例:
0 A% \1 x b: j0 y5 r8 E. d: c$query = DB::query("select * from %t where id > %d",array( $ j7 S9 [1 z" e0 \" ~
'test_db',7 7 _3 d! U) Z* n' E+ O
));
0 x: L# _; ~* q; L8 x' h: {$data = DB::num_rows($query);
- n0 k7 h# m3 c7 |echo $data;
' @: r* Q, {7 ^0 i: g4 P1 S+ y9 }) n9 d' @" N+ L) |! B
资源集资源释放
8 {4 |, Z- X9 ]: S* v+ O' }/ e方法:
: W; U! v1 R# @' `; F1 I: ~DB::free_result()
8 Q4 n" @8 Z7 @1 j参数:
3 h( M1 C3 C" m `) K$query:执行SQL语句的query资源 k: l: H2 U- n
$query = DB::query("select count(*) from %t where id > %d",array(
; P- q$ f9 t; v% `'test_db',7 % O# y9 W. t i+ G% F# c- ?7 i1 P
)); ( D5 i! J7 U( _' X4 z% b
$data = DB::result($query,0); 9 K' S9 }" G' V
DB::free_result($query);
* n" s. l; }8 e% xecho $data; , G* o6 f5 q# X. [3 u3 w; ^3 R- v
* Q2 X: t( i j0 q; n
按字段排序
# o! Y) U) f9 q方法:
# g+ q- N6 M" X4 @; U; K, VDB:  rder() * {0 u' _6 |# h/ Y" L
参数: 5 V0 w( S( o" q0 B
$field:需要排序的字段
& U: i+ R8 k- j0 ]% j0 N* i$order:排序方式 5 A+ n( A8 t- J9 f0 I5 @
实例: % [$ `# D c# f+ z
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( " f! \' \ C. w/ k, n7 t. o
'test_db',7 % z& P, d" e* P( ]9 p3 z
)); % F/ I4 g4 e4 c: k! A
$data = DB::result($query,0); : [) B: I# r7 t- J2 ?2 ?9 j0 j1 c
DB::free_result($query); % ]9 b1 d# H! {9 V( W& x* l' q
echo $data; , |* X3 N6 M5 z" Z- F
- e9 S" |4 c5 u
取值区间设定
% D% p# [, q2 F1 Y/ t方法: ' t4 a! D. s3 ~6 R4 h3 v
DB::query()
7 @+ Q9 f0 }. B! @( Y1 Y参数: 0 `7 S- ]3 X3 p) v' G- J U
$start:开始的索引值 ; m# E3 l9 N& O
$limit:条目数 + G: z* `& x# T4 b9 J- z3 `
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
3 a7 }9 {. P$ l6 x4 }' ~, H( ~'test_db',7
( W( I0 I7 r6 Z# a0 M$ b)); # j& r8 \/ D, T% N
: j8 p& s6 X1 ~. T
字段拼接 4 B: y- U3 {2 j2 k/ _- ? h- G( d
方法: " B/ e; G& [- Z% J4 X4 o
DB::implode() * U, D' ?0 t0 s1 n9 h$ d. Y
参数: & n% t) j+ R1 p( _/ s# g5 ~' X8 r
$array:需要拼接的字段数组
/ u0 R" K |* T( u! ]% L) N$glue:字段拼接的字符串
6 g+ O! h! N4 j1 o. T- q实例:
# R2 Z9 G7 _5 jecho DB::implode(array('id' => 10,'name' => 'ddd'),'and');
, G3 H0 y9 _5 m0 ^4 |3 M1 ?
5 D q% O2 X6 D1 k5 }应用:
, P, k/ @) k, T0 z8 {7 TDB::query("update %t set".DB::implode(array( , ?1 A; N- m( V- w
'name' => 'ddd',
. Z4 o1 s! _: o8 w- V7 ^- X'id' => 22
# |2 e* `* Q3 B, z- E4 S. m)).'where id=%d',array(
! Z. `$ k0 ]$ E1 Z/ M6 e'test_db', % ~' _4 }% N0 M" ~2 H
10, 3 N! R6 U- a+ |% `5 C' b2 L
) 0 s" m0 @$ a/ r4 b5 }' b
); ; I4 j7 B5 Q: {" o) e3 G ]4 U
0 j& N5 U0 z( S+ f( |3 I
字段数据设定 9 h8 w7 _& y- b/ s
方法: $ c! L9 [0 y( ]; b& x
DB::field() ( ]3 b6 R# f3 h( E
参数:
2 G! L3 ^ f% {6 Q$field:需要排序的字段 % K8 j/ V0 H% M2 N3 j
$val:字段对应的值 ( D7 g7 |, n* A3 A8 _& m# o
$glue:连接字段与值的类型 2 r0 H/ m1 [* |! U. |" P' `; n
实例:
6 R \ v! c, C) oDB::field('id', 99, '=');
2 _4 v$ W, m9 H! \( e+ t
0 `$ L6 g, n4 {( m0 f5 l应用(把3改成99): 0 b% L x4 {( u( {. H- e
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array( " v0 \# e0 h: @3 c' J/ s9 b% `) {, i
array('test_db', 3); $ S/ E8 O0 O* r- {/ U# ]3 ~
)); 9 z& d6 G2 j# c2 f% y
|
|