数据表插入: - s* d. E: }6 F: R9 e* e
方法:
" v- Y4 h# G$ d8 I7 p2 ODB::insert()
; k3 [$ ?; B, e7 @ i参数: : j( W' s& Y, R4 R% P4 g
$table:插入数据的表 5 I4 ^6 w7 I+ u% `
$data:插入的数据,字段对应值 j6 @ O2 z6 ]! i1 [: F
$return_insert_id:是否返回插入数据的ID
, U, ?# C! @& j' g+ m$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
N1 g! _! M7 h! ~0 k( T6 n$silent:操作失败是否不提示
. P. `4 _8 P1 Y% x# D
: a/ y; F2 A6 ^: j0 |1 t实例 , Y5 K; Z( D9 D9 c9 ^
DB::insert('test_db',array( : j. X8 y" }5 v7 V, h$ F. n& E
'name' => 'ppc', . O/ t% L# Z& M7 V# c
),true,true); 0 ~) b! z5 B2 I( D, f# P
3 G E' i g4 P9 u* [: a
数据表删除:
5 @/ Z8 h: U) F+ z U. }, g$ }" `方法: 9 J5 O* x) t3 F8 F4 B% q. R7 F
DB::delete()
0 {* w% Q/ @' c7 K* H/ S2 K参数: # Y5 a2 C8 X# b7 Y
$table:删除数据的表
* v& K- E) ~8 Q$ ^1 m6 O$condition:删除的条件 ) `/ Q7 q. E9 c5 M0 {- W
$limit:删除满足条件的条目数
! F5 y" C* n4 ~. ^$unbufered:是否使用无缓存查询 : `# o) M( j& w
4 J m% m8 `) S/ y8 f( m实例:
/ G+ v0 [' {% ?) j' h5 j" d8 \- d* ?7 |DB::delete('test_db','id>2',1,true);m 6 Y m/ C5 H+ ^' r1 h
9 |3 a& F/ I; |* h N e数据表更新: , ~( {# [1 g' h' E/ b8 k' b. n
方法: ' ^6 S9 |& `2 A' O# K* U
DB::update() 6 Z' {% N( o6 S3 \/ u% s8 k8 E
参数: ) I; B' h9 `! G( G2 X4 P. D
$table:更新数据的表
4 W8 s, H3 p, v2 n% S3 p$data:更新的数据,字段对应值 # s8 O7 r: T8 f9 n
$condition:更新的条件 $ D! o. w2 s4 P1 P* @9 z1 @
$unbufered:是否使用无缓存查询 8 r$ R) r: U4 C& z# M' X
$low_priority:是否采用无锁表更新
; |9 G% `/ P& m# U7 l& V5 E$ V+ q# w; ^: b7 v
数据表查询(单条):
' B# r! }, `: b3 f- N/ d2 |方法:
3 z! I7 D' _8 m; j8 r b8 A3 U$ T& QDB::fetch_first()
: _( |' b. }" B' L$ N# ?% ^参数:
$ }( y- i* J' {8 h& i$ v! ? V" n$sql:查询数据的SQL语句
) S$ H2 E& K' q+ i! y: f- Q$arg:绑定查询的参数
) y' C8 f" W7 U+ [& G8 Y0 H9 `$silent:查询失败是否不提示
6 N T2 T, ]# s实例: 7 r$ i+ g9 V$ t5 D( x: v& K+ h0 Z s# u
$id = $_GET['id'];
0 l- o9 |( I. O" I7 l2 F: b( rDB::fetch_first('select * from %t where id=%d',array(
k# g" U3 T ]# `! z3 y'test_db',$id ! Y# D1 c; C: n, ^
)); ( ?! E- V5 [# y! ~
/ X& E: E8 @8 S2 l& H# _
DB::fetch_first('select * from %t where name=%s',array(
6 X% }! X* }# {; X. c- a7 N'test_db','ccc'
" F% a2 Q& R7 X1 v; C4 Q3 f" ^)); 8 X6 O; ~8 ~* }$ f" v' C
4 q* u6 B3 p1 _
4 P- q/ |& f# T- J$ O1 f# C6 G: o; \ V" H. F
数据表查询(多条):
2 { G& M0 y: \ c1 Q) j( z7 p方法:
, ~- s1 x( d3 l9 f$ ^: X3 ^DB::fetch_all()
1 U1 _- t! [8 H/ v+ g参数:
! q) {* B# P: D+ M& G$sql:查询数据的SQL语句
5 R2 N% p- g5 |( ?- I$ N+ V$arg:绑定查询的参数
$ p! `5 X1 _6 \$ b- X' c8 e7 X$keyfield:一维索引的字段名称
_& P% n3 y; w( y, l5 I$silent:查询失败是否不提示
: v, G i; }. _$ ~实例: $ l* C: j* G2 k D' l& ^0 v
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array( . |: O0 d% C3 ]+ y2 b
'test_db',7,10 % m2 ^ h2 Z+ V8 A% w1 k
));
& V1 ?! n4 t; I
- Q7 t; N: ^ C" DDB::fetch_all('select * from %t where id IN (%n)',array( 4 f& y% @0 r$ _
'test_db',array(1,2,3,4,5) * B% s1 g2 P, B6 I: x
)); : l. T! r) U4 K2 U9 v( a
$ s$ c3 h) ^2 ]* f0 Z; k, \数据表查询(单字段) 常用于统计查询: 3 g' Y' c, k) M: x4 B3 _$ j0 E1 G
方法:
' v2 ]/ K. e7 Z8 jDB::result_first() : W0 N4 l% v. o4 v
参数:
8 B) V' z( |# A7 y- c, ~$sql:查询数据的SQL语句 & B* s6 O7 _2 Q. L# f
$arg:绑定查询的参数 ; Z6 a; ~ }5 D2 C+ ]9 l4 C
$silent:查询失败是否不提示
9 s. d, U, \5 s7 c, ]4 w# }* f实例: ) f K2 z: y( Z' I5 A; \$ n" {( h
DB::result_first('select name from %t where id=%d',array( / G8 j% X. Y% i
'test_db',1
# K. k H+ J; Y; w) ~' _; Q));
1 F1 B3 I: r+ Y% N1 ]" f/ n* @5 Y% a7 P; R, s
DB::result_first('select max(id) from %t',array(
3 a6 Q8 } _3 X$ A8 x3 q% p'test_db' & H/ w5 K1 \$ G! Y
));
) d6 V& D) M/ U% L& p r s
& |1 O7 U% R% x* {- X$ ~数据库自定义query
9 n) m2 I2 w& u2 [方法:
! C2 O5 z$ _* q) T2 T0 oDB::query() 3 v1 s) q1 \% N/ `- n5 k
参数: 9 g, f! ]( v& ]" O% Q6 H: } T
$sql:自定义SQL语句 + j+ I; `. ^+ S# H9 @$ h3 S! u( ?
$arg:需要绑定的数据
& ~, c8 ~0 C0 H) F% F8 A$silent:执行SQL失败时,是否不提示
3 x+ [6 e4 e+ s L% A7 J9 r9 D& k" A$unbufered:是否使用无缓存查询 . d$ B. C- ]. X% r& |8 F
实例: & r2 C+ \0 c2 o4 Z2 g6 ~
$query = DB::query("select * from %t where id IN (%n)",array(
- [, t, \: U& p6 P6 L' h t'test_db',array(1,2,3) s& e- Y' ~5 }
)); 5 @( _6 g( j+ a& F. F- ?6 k
debug($query);
/ i4 C# S6 |0 p' s0 Q# g' g9 f% G, K0 [, P
删除
/ K+ P. w" |" y- g! ^4 ADB::query("delete from %t where id = %id",array(
7 G. P/ e* t9 s- l'test_db',11
$ o0 O0 G8 G P% _" _: D+ j7 v4 J7 _));
8 o. d$ ~ a- W7 |6 d
+ a5 S/ O( H1 |. D6 L6 M
: K# i& e T) L: I. [; P' q _2 _资源集转换结果集 1 O5 S) J5 N* h( A# |" B
方法:
" A9 i: o+ c9 r1 k6 m0 ~7 ]% i& ]DB::fetch()
$ @3 \+ |' ?+ ?% z3 C参数: ( }2 W& Y" R! u0 C
$resourceid:数据库查询的query资源 4 o% Y& q9 ~+ C' U' |) Y- W. ]- B% ]
$type:数组类型
, H, E0 l; N; j5 m V' O6 N1 P7 j实例:
5 p% K+ E& v* y8 a查询 : t% L% y4 {3 n, s* ?1 u( Y0 b
$query = DB::query("select * from %t where id IN (%n)",array( 1 B) I& P2 X0 T% Z
'test_db',array(1,2,3) ( @$ H* D) w1 q! O
)); - g% i& ?3 p4 c" v& D% ]4 K3 |
while($res = DB::fetch($query)){ % G7 `$ v) _" n. [; V' G6 H; s
$result[] = $res;
; y9 D) q" P: d} 7 K4 g: D" d" |* k! _
debug($query);
1 W3 E% Y# H# c# X w% J
4 {% u' V0 g! y单字段资源集转换结果集(一般用于查看获取统计值) : |' z1 w T$ ^8 I u( l. B8 D
方法: $ f7 h" U' d7 @/ C, o
DB::result()
% e$ {; K. B, H, r参数:
, M3 @- V4 Z7 J: N$ g$resourceid:数据库查询的query资源
$ r+ G! {# a$ h t" H; n7 a$row:指定行的第一个字段 , g6 J+ C$ |8 V6 Y* o, J% X
实例: * h) G; X! z* F0 I! ]' f, V1 E
$query = DB::query("select count(*) from %t where id < %id order by id",array(
$ \ \# T! O% S/ T0 z'test_db',10
- k% l6 a$ Q) F4 E+ Q$ S+ _% \));
4 M. N; W+ n3 E4 S5 _% ~4 `7 i' U$data = DB::result($query,1);
; o3 A2 c2 f* V) q. M/ ?: y
, T" ^) w/ }" g$ o常用实例:
4 `# ~2 B+ F3 ?" q8 o% l; v$query = DB::query("select count(*) from %t where id > %d",array( " E: D( t; Y/ s: _
'test_db',7
0 J% P" V1 z) ]% P8 v: R4 M));
# }% I- e: `/ Z. N7 K( `: O$data = DB::result($query,0); 9 y! A. c- ?7 S* ~: n
echo $data; , R+ J ]- l) m9 V6 Q
$ d8 m# O% O/ Y- z资源集行数计算(不适合统计太多的资源,速度慢) & L0 R* N2 u$ I4 M. b9 e2 {
方法: 4 E* g3 ^+ `9 a$ }; ~/ T
DB::num_rows()
6 p- @% d- X7 r: H9 K参数:
+ ?0 R9 m8 D3 L9 b/ w# i% q4 G7 N$ v: _$resourceid:数据库查询的query资源 ! P0 F3 a, i; y1 U2 d* M* K' t* S
实例: - [# w, ^/ y7 r0 H, E i
$query = DB::query("select * from %t where id > %d",array(
0 T* e4 ?) p- L) S'test_db',7
% q, L2 [2 @( [" L. w)); ; m" I/ M L+ r2 k/ H* D" q; A
$data = DB::num_rows($query); 6 |7 F* E% p; i
echo $data; " W p1 B( m1 _5 P0 p4 ^
. w0 Z+ P1 a7 r9 C4 ]4 `( b" Z+ J
资源集资源释放
0 e% R+ N5 r1 t% b* w0 ?方法:
+ {3 |5 T$ U2 [& z0 v9 \ BDB::free_result()
3 R9 J, m8 k( W0 i" ]参数: - x+ i+ U7 h4 g* g. n( C* a
$query:执行SQL语句的query资源
6 ]# o5 Q+ E0 ^! ?/ u$query = DB::query("select count(*) from %t where id > %d",array(
$ U3 j3 `8 @" o" X'test_db',7 $ ^- o3 w8 P6 e8 B# M- P
)); ( L6 c) L% G. c; k$ X$ @+ N8 t
$data = DB::result($query,0); : |2 g2 s" r; _
DB::free_result($query);
4 e4 K) h/ \+ e( b/ z8 N2 Gecho $data;
2 L0 l4 Z/ y* [3 `$ F/ ~
& S2 O) [* Q6 m按字段排序 / {8 H7 N9 E2 P
方法: 3 b1 ^' V6 }3 N+ G$ t
DB:  rder()
* t: U4 [" P' f! S6 O- s参数: 7 S# @! `. H x. m6 \: }
$field:需要排序的字段
1 v' N" f9 M) u! V& u6 {" J$order:排序方式
J) z5 D$ F0 V) S a( c实例:
9 V; V/ F$ t# A! e# A) H3 b$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( & x! R$ ? @8 Q7 i
'test_db',7 9 R$ i+ I7 Z7 I" T' w; `- m4 f
)); - s) L: Z( E& c% B0 d2 }
$data = DB::result($query,0);
1 G% c4 C% w4 p# o. Z; A6 E9 lDB::free_result($query); & ^) g/ f% B8 I
echo $data;
* f9 E0 q" S! r, H; [6 b, C, Z# R
取值区间设定
2 p# v+ u3 X$ g6 o4 w" y( y方法:
: B j. X& ]) n9 M% H- lDB::query() 9 z" ]! u [7 `- X. R
参数: % h* k6 ^9 ^% g0 ?& A
$start:开始的索引值 8 Q* m5 C% ?) h% b. O V" x
$limit:条目数
$ V/ E. M7 z( t E$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array(
3 y b0 ]: M; @: T7 Q* T, }6 \'test_db',7 0 w7 r) I3 _* ~6 r( x) {
));
5 @4 w2 w3 l+ J7 z& l# p* c( ?: h" h4 h. I |1 R) V6 Z
字段拼接 ( Q. N" s: x" Y" M4 X& g, a: M) ?- _
方法:
9 Y' I% x6 g* }- C/ LDB::implode()
+ w# N0 ]8 a. ~+ o( a参数:
% C# }7 D8 `4 Y3 I. K$array:需要拼接的字段数组
8 U/ ^1 v5 ?" o0 y. |* {$glue:字段拼接的字符串
1 n. [3 d7 i3 ^# F& F; m: z. v2 @实例:
) a5 X6 f/ y* t6 vecho DB::implode(array('id' => 10,'name' => 'ddd'),'and'); \- w' R- j3 H( b6 ]3 Y3 k
- O$ b* m# B7 c
应用: 2 L8 ~* ^' v) A' @
DB::query("update %t set".DB::implode(array( ; P8 I/ O9 B1 ]9 D! q
'name' => 'ddd',
. ^) o: a: S `; O$ W'id' => 22 9 I; F" W0 X% a: U! a* h) I
)).'where id=%d',array( # S* L' H) g8 P
'test_db',
% S! w: Y Y3 E$ h) b; M+ a8 K! ~* L10, * z% h% j3 b8 T5 x% {8 M
)
) v! A' E/ B0 E* Z9 H);
: V0 B6 f+ q0 c) A, f; n' q0 q6 N* S0 Q: |' T2 Y
字段数据设定 ; s- {+ g# \2 E8 O+ F+ Q
方法:
2 Y& |) w; L/ C1 n- dDB::field() 1 X, ?$ R7 v4 v9 {* q
参数:
+ R, g/ j6 ~; {. y5 B6 U) Z3 v7 T$field:需要排序的字段 , `& j& B& C0 C
$val:字段对应的值
9 \8 l4 k; `2 w* v* L$glue:连接字段与值的类型
' v7 k. g0 o7 P1 ]* K实例: 0 c; t B" y4 P5 b5 {
DB::field('id', 99, '='); : w/ q _ E. B* |' q
! M% D1 n0 H V: O: v
应用(把3改成99): & A$ w$ v8 y, o1 I k( x. X
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
- m6 I. p. x9 Y5 |- J1 d* Carray('test_db', 3); $ E, K% {+ U, ~- x
)); . I# Q2 V5 x* C u1 r ]
|
|