 | |  |  | 数据表插入: & X8 B3 O9 a) n- l1 ]. h
方法:
5 ?8 N7 S( H4 V3 |DB::insert() 2 N7 ~' ?& [1 H" y# y) g
参数:
7 v2 M9 b" N9 x6 B/ T. f" S+ V$table:插入数据的表
9 m# T& X# q* g8 }* W' \" ~$data:插入的数据,字段对应值
$ x$ U/ b/ p( C0 r$return_insert_id:是否返回插入数据的ID
% u8 F! G- a- x' M+ ~" I' o: i/ p$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
9 f& v2 h6 I3 Y$silent:操作失败是否不提示
, _. N! Q% y, H0 e6 d" Z$ E+ y
! z6 ~( R8 N6 q3 M实例 $ y. b& q5 [" m W# i
DB::insert('test_db',array(
" ~8 v4 Y4 C$ q! S1 E'name' => 'ppc', ; d! y \ L; i9 h. ?' r9 z+ h
),true,true); ; y% v$ `$ \# E2 N
* z0 R: l& O$ u数据表删除: ; U+ ]) y$ N: o% y$ e, B4 W. `
方法: . m( T+ m2 x7 I( m
DB::delete() 0 _0 p' y6 [8 W$ ], k" X
参数:
( a- l0 w8 n, g$table:删除数据的表
8 P5 N: k% A2 w, ?6 l* S3 R$condition:删除的条件
% I# l! G# E6 p* c% ]' l4 ~$limit:删除满足条件的条目数 " M' Z8 L3 ]! V0 F
$unbufered:是否使用无缓存查询
* A2 V" G* f0 w* n/ }( K" ~! G5 z- @" ^$ b8 M0 n
实例:
j9 y2 W5 H. |+ lDB::delete('test_db','id>2',1,true);m
- H2 k+ H7 ~6 S k" H
1 |2 |! y2 f0 r5 Y7 o% E数据表更新: 7 N: C: Z, U+ Q0 K8 V8 `; {7 Q
方法:
! x7 j4 `0 m& w6 k* Q5 P3 @2 NDB::update()
& @ T/ @# L5 g w! q# j参数: - e) o( q4 N( {% h4 m- q2 C
$table:更新数据的表 ( n3 R$ G; f, w; ^$ x7 R' l# U2 Q
$data:更新的数据,字段对应值 + n& B; a/ |" `2 U8 H- T" V8 Q$ d* F
$condition:更新的条件
7 [* j; ^; }: H$ u1 H$unbufered:是否使用无缓存查询 * t0 `* u; |5 i3 C
$low_priority:是否采用无锁表更新
" {. K' w6 b& t ^& F
$ N/ ^ b% d* U5 x' ?9 K. B数据表查询(单条): - } E6 r% E1 e
方法: & [8 o. _- |+ N+ }4 z
DB::fetch_first()
: T2 c; q4 T) B2 ~, G4 Y. S参数: 3 W3 j* F1 S; o6 h( y6 E7 _$ y+ | q
$sql:查询数据的SQL语句
' p) S1 O' k t' H$arg:绑定查询的参数 - K. C+ \4 E) @8 n0 {
$silent:查询失败是否不提示 7 Q/ h) X& u7 ^, b
实例:
1 n) v1 ]; V4 }. G$id = $_GET['id']; 4 B7 d1 `2 B, W
DB::fetch_first('select * from %t where id=%d',array( $ E t6 d0 \7 l- j- o; I$ Z( P# J
'test_db',$id
6 e3 t1 q( ?: t* W* [/ O. `)); $ [. S0 u7 ^, i
! b# ~6 Z! @+ D) o( J9 n$ ?) }
DB::fetch_first('select * from %t where name=%s',array(
L. \8 y% d3 u5 c; C1 v4 u'test_db','ccc'
* a1 B4 t: e, j6 P)); % H2 c: Z/ i* r6 X5 _( ?
6 ~, N+ n7 [ A5 |' u+ M3 V
. S0 I" _; h, c* z: ~; O, Y4 S. V" W: _7 C/ l
数据表查询(多条):
3 P3 Y) e4 L/ i$ J方法: : `" \( _9 n+ G8 l
DB::fetch_all() ) [6 d9 y7 m8 J# Y9 L8 {" A
参数: , p: Y+ X9 C/ }% t2 Z& Q
$sql:查询数据的SQL语句 ' g& P0 D- g8 k6 O
$arg:绑定查询的参数 q' h6 M1 ^; ?9 D
$keyfield:一维索引的字段名称
( b; ^$ c+ m9 B$silent:查询失败是否不提示 0 \4 h0 I% a) N( e
实例: 5 U+ N$ b& [2 U! m, u. {8 e
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
7 V0 c$ o- c# Y* y9 O% J$ u w9 N'test_db',7,10
+ y5 @% F+ f) K2 B. W' S1 L$ h));
7 l% O0 M0 z' E+ g
/ I3 o2 d: C% v7 O0 tDB::fetch_all('select * from %t where id IN (%n)',array( . P: h" f, k6 C) M. I6 i6 e
'test_db',array(1,2,3,4,5)
4 x8 `3 Y, J$ g7 \6 v));
, d3 S0 U8 E2 Z/ v( R! o C/ x$ E v+ N" Q. s
数据表查询(单字段) 常用于统计查询:
) I7 K' T1 T- a# `- p% G& t9 N方法:
% ~1 J. d! @ A) QDB::result_first()
4 H1 @9 N( T5 C9 Q( q0 {& v O# e参数:
2 Z7 d6 G( r0 L, w$sql:查询数据的SQL语句 ' L) Y' [- Q. s2 P; t
$arg:绑定查询的参数
, S `* ~# u2 L; z$silent:查询失败是否不提示 & X, n4 e( `1 `; w
实例:
+ c% C9 s* q0 J6 U9 d+ KDB::result_first('select name from %t where id=%d',array(
8 n; Z4 Z/ c& t/ ]' d Z) _'test_db',1
& ]( S) I0 f* t8 s) v+ P2 d3 W1 M));
6 ~, D( R1 W: |3 V) D" K9 y$ ]8 |' i$ J6 c" r* |" G( E
DB::result_first('select max(id) from %t',array( , j( M5 ]! c4 p6 x; v* S" S
'test_db' , Q' c2 [9 D9 A8 }2 G S; F. F
)); + u0 P% [0 A! ]5 M/ Q2 \
! W0 {+ k$ S$ P) @! b0 G数据库自定义query
' z2 o, E# ^) q, @! H$ Z方法:
. i* T6 d, K& z6 X4 O) CDB::query() 4 I- z2 q5 r3 }& B
参数: % i+ i0 f5 y f6 o2 a* y+ t' u. C
$sql:自定义SQL语句 $ Z6 N0 T- C" X6 h; c' y+ z4 H
$arg:需要绑定的数据
! T8 K/ D7 Z6 v. i X$silent:执行SQL失败时,是否不提示 7 n" {* T* b! K; s& V- t5 J
$unbufered:是否使用无缓存查询
/ s, O. o/ Q0 [( g2 |实例:
1 E4 C% C6 l; _# N$query = DB::query("select * from %t where id IN (%n)",array( 8 f. P, r5 }! C) e3 _
'test_db',array(1,2,3)
- K* L1 ]3 V, V: `5 y));
8 l0 y' [& Q# s' \) W; b+ O' ^, Bdebug($query); 6 `4 Q/ a( g1 E3 |
9 l6 J3 D9 T5 C% y5 A删除
" r" c; \9 ~' A; {& sDB::query("delete from %t where id = %id",array( : {, ]# K m% E) n- h# x+ ]
'test_db',11 3 d" u0 x0 \. w/ B9 Y' d/ ?
)); 6 R' s. N2 O5 g. h: j1 }
; X& Q. c3 H% q3 R: _+ [6 ?( b+ U l
资源集转换结果集
/ d% ~5 _% q' T2 v5 Q# D" x0 H4 v, b方法: \" e! S& G4 _* z
DB::fetch() . L! K* _0 w: Z" b" m: J
参数:
- W( z. H; K+ S6 p5 A# {$resourceid:数据库查询的query资源 4 v, ~/ j, I( C8 t: k e
$type:数组类型
7 u# g4 H9 D4 E" e# T实例: ) N" u! N* B- x6 n7 c1 T
查询
- S# k3 k N( i) g1 ?+ N% C9 b$query = DB::query("select * from %t where id IN (%n)",array( + c0 y }8 g( Z n* O
'test_db',array(1,2,3) * V' X: t% O7 v# \0 ~3 E
)); 6 z; a! w: n6 Y: Y5 M" k' ^
while($res = DB::fetch($query)){
; F8 F7 N7 z8 `- U $result[] = $res; ; T7 H X9 _( F* q0 D( ^+ M
} # O( X0 X8 p/ K8 g" s1 T- P% A
debug($query);
+ F+ m5 n: e* f) y1 S3 e+ ]' i% N8 _( a
单字段资源集转换结果集(一般用于查看获取统计值)
7 f$ Z8 k# d& K7 Q! k1 m/ Q方法:
. @# a# x6 |9 MDB::result() : h# y# W9 a0 W% V- O7 b
参数:
5 o' t/ [2 m" v0 f: Z$resourceid:数据库查询的query资源
8 X! T) n6 E; H) E6 V( B6 Z$row:指定行的第一个字段 , K. R7 t4 }/ @
实例:
( R, l$ Z5 {' ^% k$query = DB::query("select count(*) from %t where id < %id order by id",array( * k1 c: B( }( w& d- }% s
'test_db',10
) y" O0 U+ k1 K8 ?% Y5 V0 X! e)); * f7 E3 [" `7 t# R# Z
$data = DB::result($query,1);
) m0 ?3 a1 D+ l, I v6 _" Z8 v! c" |: P& }8 Z2 Z, J) F
常用实例: 2 g8 A. z1 J9 u6 {, Y0 e
$query = DB::query("select count(*) from %t where id > %d",array( 2 [: T! S; x e: I5 R; `' |
'test_db',7
( A7 v0 y# c7 S- m: J7 z));
0 d( S w# O5 [ w+ h$data = DB::result($query,0);
2 ~* D) J( e/ ^! t+ I9 b& x7 becho $data; * ]1 M) L% U: T- e
) Q( a6 T: k( C, B% I* Q( F
资源集行数计算(不适合统计太多的资源,速度慢) / s2 I$ I" d N
方法: : N/ \' y9 q! w
DB::num_rows() ( T2 e% q- e) P' u7 {9 ~( c+ ^1 ~0 E
参数:
4 e& [1 J) ~9 e: v$resourceid:数据库查询的query资源 ?5 R' i# G) {& X% A8 a8 m1 O
实例: & |1 }" @ H8 e( Z& S) n
$query = DB::query("select * from %t where id > %d",array( 6 \0 R( [5 T# d/ |4 h
'test_db',7 6 a6 G( F" {9 `; A0 X# n
));
3 D! z( Z0 p% B) U7 @9 F$data = DB::num_rows($query); ; J* s# [9 `& ^' c; F: B
echo $data; / U5 q, u+ a) v9 _) O9 g. S6 I
- h1 O; ^7 W+ M$ E; W3 e6 J
资源集资源释放 4 B1 ~$ m8 t+ z, v2 i" a8 V
方法:
6 F+ r+ v) a5 Y, vDB::free_result()
$ G& w! d- u0 {; u7 J参数:
W3 E: u3 [/ I( z5 b$query:执行SQL语句的query资源
6 u7 R i# ]1 r# W3 ~$query = DB::query("select count(*) from %t where id > %d",array( / J$ F' H7 A2 L8 U
'test_db',7 : }; W: ~) j& U5 h
)); * f% c' d7 y( T: U6 h3 |) Z
$data = DB::result($query,0);
! o, z9 q" F& H; i7 n# S: |DB::free_result($query); 4 G& k7 [: ]% d, J$ T
echo $data; 3 N+ H* v5 H; P" L3 g- n. K6 {) V
. R, d Z' w) @$ G2 R
按字段排序 0 X" L* d. U v5 ?. k
方法:
2 w& K5 ^* X, n+ Z- \DB:  rder()
2 K( W) a# o6 L( ]( L- ~参数:
: {& W) c" ~, L* c% [1 B2 C$field:需要排序的字段
' o' f& E7 J5 s r$order:排序方式 " t* S; x2 s) I( W
实例: % h0 M" u% B. K, J3 K( q
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array( - G/ r% ?! F2 f7 } R
'test_db',7 2 F+ u7 b0 B% [) W0 e1 [9 k( r
));
7 \( K! q) O# d$ p- S% e1 Z( d$data = DB::result($query,0); 6 f6 N5 K1 A4 F. a3 D ]
DB::free_result($query);
/ z; R/ r, U: i) J$ p+ j+ T$ Vecho $data; : ]/ ?! f& G+ H- _& E7 k* W2 t
' y( \/ E7 ~# y6 x6 K4 i" M取值区间设定
0 Q2 {3 R5 D+ j/ g7 {方法:
6 B6 s8 |+ @4 D+ q8 Q! V+ z' o. EDB::query()
4 v6 ^; Y1 W a* j. Q+ G参数: % _7 S4 H/ q1 L# P3 ?( b: V
$start:开始的索引值
" L8 j7 s& ~, Z: R$limit:条目数
/ X$ z1 X+ T9 @+ e7 @$ w& \& h$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array( ; f. v- o, X+ c) b' K- s
'test_db',7
$ e; r% Q" V0 G));
- F' o$ G0 [# F% X" M& B' z: e! {1 ?2 D& H
字段拼接 8 k( A% X+ l T) h2 @' p
方法: 5 x+ {, g9 M- b. F
DB::implode()
: j7 q0 Q& ?* ^; r! F参数:
; v9 i5 t- o7 M3 B5 @$array:需要拼接的字段数组
/ M' J# a- |6 c' ^ n$glue:字段拼接的字符串 0 v# a* l, E$ _# X# E4 C) N
实例: 3 w2 a9 \4 ]1 G3 M9 J
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and'); 2 \/ F% a/ V$ E' T2 N* [
8 \' s# Q, A' g! {. w/ {应用:
8 R, D- W% Y3 @DB::query("update %t set".DB::implode(array(
) G* E4 M# F5 L- j! H( ^$ B! b'name' => 'ddd',
1 z( ]3 a# \1 | n, W7 D% \' C'id' => 22 - M$ g6 N H$ |+ V, _
)).'where id=%d',array(
" t7 k3 z" @$ a'test_db', 6 B' e- `0 I- P( M0 Y
10,
7 ?3 x9 ]; H5 m. A, F% o) " U2 {2 v, Q2 B, U/ j: j$ G6 Q( @
);
3 E9 I3 y: n6 z+ t Z! j
% k% `/ _( x6 u- V/ I" q2 a字段数据设定
; r6 p5 s- v. ?( x0 I6 h方法: & m' x1 d8 K J4 X
DB::field()
. V" |3 z$ R7 f& J参数: ( B1 |* S8 m3 j/ K. z, U
$field:需要排序的字段
, f; N0 C1 p, {9 q0 t$ o! P' Q$val:字段对应的值
. Y }4 D A3 r( o$ x$glue:连接字段与值的类型 . a' G' k3 n8 C$ }& U
实例: - s) w) m' r- t `! g8 W# t2 A0 W& H
DB::field('id', 99, '=');
$ m; H" f S8 ?- p9 F: D
6 e" d- P. s" o应用(把3改成99):
3 G! _/ P' V4 K. c& ZDB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array(
/ k$ I$ \. p) darray('test_db', 3);
; Q8 q5 \, _, W! m- u));
/ x! Y+ d4 D4 x6 [
| |  | |  |
|
|