数据表插入: 5 s4 _( r' b% v3 r- ?
方法:
+ h# I8 G6 i* l- Z1 p! G& \DB::insert() 4 D/ a1 S/ x& g, k
参数: / v2 L9 x3 ^$ I. O8 e
$table:插入数据的表 3 z ]! s7 _4 e( k( C+ A; B
$data:插入的数据,字段对应值 7 o0 e! p+ I/ t% R) u
$return_insert_id:是否返回插入数据的ID 4 I2 S$ t. S/ D- K9 {* i* A# F
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新) 9 y; U. I- U: G
$silent:操作失败是否不提示 4 _( V9 q4 `: |* q- d" G1 E8 ^
j" k, l/ e) J0 w# J D. P& h( i实例
1 s Z0 J5 @0 M- X% w, eDB::insert('test_db',array( h! F: k1 v6 a ?" d; o. g
'name' => 'ppc',
! h9 I& X! x: x, a+ z),true,true);
7 t$ L3 w! W/ F% Q9 e9 k8 E% u6 {: G: [. W* {
数据表删除: 4 ]( w" J1 N$ z6 `
方法:
" O; t, M" n8 r# }* z$ yDB::delete() 5 P) H% n/ d8 t* U5 y/ I. @) F
参数: 6 G( W2 x( Q e: [4 A! a( R- L
$table:删除数据的表
T3 P' ]5 o; T4 W& n/ D$condition:删除的条件
! @6 Y6 A$ f5 V c$limit:删除满足条件的条目数 8 y: g5 h z8 n. b( h! c
$unbufered:是否使用无缓存查询 ' H. B/ K9 m6 u% m3 _
) G# }+ s& [1 q实例: $ [2 v9 X$ V4 M* r
DB::delete('test_db','id>2',1,true);m
6 C7 d5 o6 c' b- T1 h6 R: i% _4 p2 n, J7 e) N, p
数据表更新: ) F7 Q9 A' S) ?& G
方法: , B) s% q z; }* L* q$ X
DB::update()
s4 Y/ `% b5 H7 b3 q) h- k+ D* C0 E参数: / H1 y `+ I) E; a9 a0 W
$table:更新数据的表
5 f. V8 R$ d& {. ?5 X% a) t$data:更新的数据,字段对应值 : d( d) }; B) \3 `- V
$condition:更新的条件
3 D; u/ G" S1 ^$unbufered:是否使用无缓存查询
- o L, h' w9 b% W0 Z9 r$low_priority:是否采用无锁表更新
( D( ?: g, ` s J, }7 m. O: i$ f* x: J9 h5 _! r
数据表查询(单条): 6 l7 _: i1 U u- p+ H/ c, r) U
方法: # l( W$ h3 L% u k. I$ n
DB::fetch_first()
" f* H2 f" n( D" X2 Q参数:
, r9 V+ x- r4 D) a' \, I- o L6 X1 B$sql:查询数据的SQL语句
) V+ A: G' v/ Z5 H7 n- M$arg:绑定查询的参数
& i3 o, t* {# j$silent:查询失败是否不提示 2 S: R# r/ n; z* T* w, i
实例: $ g" O) _5 h# I. E2 b) v
$id = $_GET['id']; + }5 @& ~6 X2 [) D' Y# g
DB::fetch_first('select * from %t where id=%d',array(
2 _# H9 q) R& ^9 _% k W# Q'test_db',$id
, \1 _9 V) z" _: Y7 C% |0 j)); $ z: ^( Z9 c( V# U) D# s T
9 s8 g! U& u: b: Q1 y
DB::fetch_first('select * from %t where name=%s',array( ! }9 g& V* W. W, @0 J" z
'test_db','ccc'
. U: ~; F4 ]/ O" G+ f# n: K)); 7 I1 N7 _# s0 z) W$ P: I+ |
- e/ Z! X1 f6 N A
; v p% w6 a3 ?1 }2 d5 j# E
4 n. e- h$ h$ l: _( B6 |6 E数据表查询(多条): * p) d$ g, a& J' |+ ?% Y- U
方法: |+ z% u; @" b# D0 j+ _4 k% J
DB::fetch_all()
' d* _, ^0 Z. @1 p参数: 5 o+ R) ]' H* Q8 c; I
$sql:查询数据的SQL语句
, H0 \+ O5 u8 d9 u7 u) z$arg:绑定查询的参数
0 a7 l& Q8 ?9 k1 n; X- O$keyfield:一维索引的字段名称
' X: u$ F4 a% M/ a" E$silent:查询失败是否不提示 ! D# q2 a7 Q9 s1 A) e! m$ U
实例:
( f7 _2 y% z3 A7 @" lDB::fetch_all('select * from %t where id >= %d AND id<=%d',array( . I1 P7 J. s& ]* Z7 ?$ R1 X6 b; v
'test_db',7,10
: s t$ A2 O- B1 o1 O3 h, a));
2 V% Q7 F O: H7 I! l0 s7 ~: m# o9 w9 [ Q. n5 @- C7 @
DB::fetch_all('select * from %t where id IN (%n)',array( - x; K3 D3 k, h, T3 |6 s6 e: x9 L4 ~
'test_db',array(1,2,3,4,5) 9 D7 w+ F" u* j. B1 a
)); . N$ B; M0 X" S/ P7 L" J5 n* F$ \& l
" U; {+ Q. W2 l5 w5 }
数据表查询(单字段) 常用于统计查询:
; I" [0 L8 O' M/ t方法:
# _/ d$ [" P, L% q% iDB::result_first()
+ R' U+ k$ \9 h3 ~. b参数: / a' z. x$ j% y9 G+ f
$sql:查询数据的SQL语句 / N! Y6 c2 I: [( Q
$arg:绑定查询的参数 7 a' o! V8 Y' {3 m7 g+ K
$silent:查询失败是否不提示
2 V h I9 M% r5 M+ O5 Z实例: 3 G: F; L/ b9 B# O0 M! R
DB::result_first('select name from %t where id=%d',array(
' i) k" u. ^1 k9 b4 ^ E' W'test_db',1
. f6 Z+ \1 ]' s# d));
& ]) s; o/ I& U
* r, C2 Z# u+ a4 k5 P/ JDB::result_first('select max(id) from %t',array( ) ]; g3 a& u/ i) [3 m7 W
'test_db' ! k3 F) Y" A) s2 p; ?
));
& Z6 {1 O/ n6 j$ Y1 a! `2 ]0 A, z: e* X2 b, A( [
数据库自定义query
) `7 F/ d, f- L方法: ! D: b& U! Q# N' H) A% _
DB::query()
( M- g" v: o" y' O) U参数: , E7 A6 k, x' O0 T6 |: C
$sql:自定义SQL语句 9 I" T! C/ j" q- a B
$arg:需要绑定的数据 2 C% y( q- V; G" ~
$silent:执行SQL失败时,是否不提示 + C( |8 w6 C" ^$ z
$unbufered:是否使用无缓存查询
4 {3 G3 X: b# v& M# H实例:
- A3 O/ r4 y1 @9 F7 E$query = DB::query("select * from %t where id IN (%n)",array( " e% v* w$ h% M: z9 z0 W' v; E
'test_db',array(1,2,3)
: S ^/ v" w c6 `; C D) P));
6 q6 i |' T- Pdebug($query); : E; n& @9 s1 u
8 K. o1 |% `) n" t
删除 ) N1 v; }* w1 { A8 y( v" Z' {0 T ~
DB::query("delete from %t where id = %id",array( ' s; }# o, Z, S% J6 u( y
'test_db',11 0 X2 P& ]6 d) p
)); , W% P5 z* y4 |5 Y
( i) t" T8 S, n( X: I9 k9 u3 D% I1 _9 j, ]
+ Z, R3 |) i: N资源集转换结果集 0 x$ S; R$ _4 }4 N* ^" f
方法: . O* S. w f8 L1 Q$ V9 \" C! s
DB::fetch()
. A3 |& S0 i# T( S+ D参数: # i4 V) c' L* u& I
$resourceid:数据库查询的query资源
% N4 t3 T" T! O$type:数组类型
# Q5 R8 o: z% v/ {实例: 1 T* A) p* f* U9 T) O$ h( c% o
查询 , P4 U6 Z, X( ~5 ?& A9 h- U* p
$query = DB::query("select * from %t where id IN (%n)",array(
2 x* v% s) p; v/ f9 e, F'test_db',array(1,2,3)
: i1 T; c; C' s" @" [6 p# ]# l)); ' C: f) s1 d* X8 e% V& i
while($res = DB::fetch($query)){
: j0 ^1 p% l! y& r' d( q $result[] = $res; n/ w8 N* J5 _5 C
} + Q/ r( ^6 e' c
debug($query); , s" X1 I% A0 S0 K
' p5 P3 c5 v0 m2 v单字段资源集转换结果集(一般用于查看获取统计值)
. u, j& ?: z o9 _" D! _方法:
' X' r5 [; R1 ?. ?. x7 v+ VDB::result()
8 C1 n2 t- j' F+ ]+ Y参数:
q' |6 w' v* U ]) n$resourceid:数据库查询的query资源
; @. r+ m; O: M9 W$row:指定行的第一个字段
4 b8 k F8 c8 `3 e实例: 7 m5 y8 x0 j( C% K7 z
$query = DB::query("select count(*) from %t where id < %id order by id",array(
/ I B! G, O, s$ u'test_db',10 8 C1 q4 Y P1 n8 z
)); 9 ^' k" ?% ?+ u( n6 e
$data = DB::result($query,1); + V4 `% S+ s. m
$ ~+ H: T# r( G; ]3 h常用实例:
+ H- `5 j" }- ~ }, Q$query = DB::query("select count(*) from %t where id > %d",array(
$ i" I/ z- w- P3 q# @5 r) s'test_db',7 , x0 K2 w6 Y, L$ I8 t, l
));
7 r% t' W. |" H, d( c2 p8 L4 u0 |2 Q$data = DB::result($query,0); 9 T5 y. o& C$ S% H" R
echo $data; 1 I* J4 W9 b. [6 l$ ?' X
$ ~" s) [. k1 s) ? ^6 H! R6 g! A
资源集行数计算(不适合统计太多的资源,速度慢) : [# t$ `$ l6 z
方法:
' E* O0 b( E2 @$ k8 G' bDB::num_rows()
- k) R$ y6 A+ J6 i5 e5 f. f+ O; e参数:
5 d# W( @/ c. g2 g. }# O" u' ~' `$resourceid:数据库查询的query资源
5 Y6 G: }. }- v) e( l* Z* S实例: ! Q5 j7 |) J+ E& i6 N8 G; h; C+ y
$query = DB::query("select * from %t where id > %d",array( W b; K. u" c& v: C
'test_db',7
6 O% u% t/ Y/ U));
$ i8 P( X4 ]: y* g$data = DB::num_rows($query);
- r r* U$ q) e8 w- [echo $data; # M B3 e" K6 Q
. X: t/ j# [; Y7 U
资源集资源释放
3 I5 x7 z' F% i1 Z- t8 g% H方法:
/ m* c" ?2 C( ]& [DB::free_result()
8 N. A u! v ?, |* G/ [) T参数:
& k5 n/ }) r7 c0 _, g8 g$query:执行SQL语句的query资源
+ I$ A. J0 i, w' H; [# g1 A: _$query = DB::query("select count(*) from %t where id > %d",array(
% M; Z0 }, |# c# _'test_db',7 7 B* O) u3 |! K) w1 q* x, {
)); 7 A; G* e6 k/ ]+ L0 s: D
$data = DB::result($query,0);
2 o; b; x+ l x5 S5 f2 WDB::free_result($query); 6 E4 y- V: _; f7 V
echo $data;
, p6 @/ h* E" M- p9 ~+ Y8 t$ y) z* ]& H7 k" e% e* N
按字段排序 % W7 ~8 Z5 D0 l: f# L- q
方法:
7 a4 s$ G/ V# @$ `DB:  rder() % z. { q$ s. r' w. f
参数: 0 ^0 i0 G& |+ [# e- c- V7 F
$field:需要排序的字段 : J" A: x) d% c9 B5 K' Z0 B7 S- U
$order:排序方式 9 q% n% y9 O( x) A) O) E
实例:
4 ^$ `2 r. D2 U; Q7 ^% p$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array(
. ]: g6 G" q5 U- Q'test_db',7
" `* u! q, x$ s' _7 w)); " T- f5 N2 F: G% m7 M% V
$data = DB::result($query,0);
* ]( a) s# Q9 H6 K$ \ vDB::free_result($query); , j) k' q- o1 G/ U" p% z1 z
echo $data; ! v: W c) K" M
3 V1 }2 @8 N- i e* P& J: S) J6 \取值区间设定 p' h" U) Q4 k8 X
方法:
. B; e! ^2 l; E& E f7 qDB::query()
# l/ A6 F$ v0 P1 o6 r参数: 0 Y- m" u" @ t( X" _) ~6 f
$start:开始的索引值
4 s* g9 S0 H9 a0 O8 G2 k8 F$limit:条目数 1 t, t( v) x( ~% _1 N- D
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
% \. H- g! {* O4 u; E' _7 e1 `6 o'test_db',7
$ |+ h# f1 U! I# Y( X7 P8 V( i));
- @# m$ R" }5 Z3 n. ^6 V# _ Y9 D6 t! `0 Y
字段拼接
9 v u. L: ?- }" \3 o4 u方法:
& p2 Z* O& T4 S+ a# n- ?- QDB::implode()
# N% ?4 u+ _: ]/ Y, D参数:
! A3 }% E& e" c$ v* y& x" S$array:需要拼接的字段数组
( F! z& m; Q6 Z/ S% J8 p M$glue:字段拼接的字符串 5 f6 _7 M, r, n( Z, l- p4 q W1 `" }
实例:
/ _. G* o$ Z7 d2 C3 Vecho DB::implode(array('id' => 10,'name' => 'ddd'),'and');
" }& B; Y$ k3 n. ~, i& l8 A+ Y
! X3 F3 d$ Z: ]. `& s: B5 V8 l应用:
0 _, m& S" E4 Z2 yDB::query("update %t set".DB::implode(array(
+ H1 m6 B& j/ _0 t1 V {; o4 ]* |1 g ~* w'name' => 'ddd',
8 S W+ ?* @$ d2 [3 O0 h9 R; N'id' => 22
$ w0 D+ S5 f5 v' X! r& e% N)).'where id=%d',array(
; F+ I1 J: J& ^( P'test_db', 0 S8 R) s# X X* h
10, % @/ R; D5 T1 g1 L6 H
) , `- d6 n1 e) K, h
);
* H. ]* [* ~9 r3 \4 \. i+ l$ B( m; }2 v M5 F+ `% b9 G! l3 |
字段数据设定 / o/ o" k% l9 @2 c- }) v$ Q9 E1 N: B
方法:
& v8 i$ w9 A; C/ @" K- |% ~. zDB::field()
4 A1 B2 |! t. S; H2 o! l8 E" \参数:
( m }/ f2 z9 G: b3 P9 N; V$field:需要排序的字段
& s& O/ U" r2 {" G( I! T9 }/ ~8 ?$val:字段对应的值 ) t: |/ B1 k& }+ I, B/ g( g! i$ |" h
$glue:连接字段与值的类型 * c, S9 O$ ~0 |+ E1 ?/ h) ^
实例: 1 X1 M: Y" i, Q
DB::field('id', 99, '=');
: ]- |3 ~1 b+ h- N7 b) F
( w6 k, O- Y# Y应用(把3改成99): , S! x2 O E' f# N) e2 t& t
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
; \7 B/ I) Y ^ P# Narray('test_db', 3);
$ z- {' _: l* g4 \! a, o2 E)); ; n# A2 s' N' E+ W4 ~: L* q
|
|