 | |  |  | 数据表插入:
( c* B# p: W7 f9 F/ q+ J方法:
* R5 v3 T( z$ |' V$ c. H( hDB::insert()
Q/ E/ ^3 C% S: w, a/ y" \参数:
. a4 o/ J1 @, w: Z5 K6 o$table:插入数据的表
! A$ c! ^1 L/ h* ~9 ?* O. m2 T' j$data:插入的数据,字段对应值
. r& k7 B0 V, I; C0 P$ e% C$return_insert_id:是否返回插入数据的ID
3 ?% D& U/ P9 ^& C% _' e, K$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新) 4 l8 S* T, B& R9 ~4 H% J
$silent:操作失败是否不提示 . u% Y" e {- F* `1 h& R
. e" a! k. k3 C$ Y& {实例
* L6 N" N: I+ n1 A* w+ b. c; RDB::insert('test_db',array(
4 P8 g5 M; _1 Y. W$ k$ ]'name' => 'ppc',
2 Z0 J2 g' q4 @5 Z9 P# ]9 ^# y),true,true);
3 J; i/ y/ k) b' e2 M: N4 J6 L! `) K4 N$ z; _6 Q
数据表删除: 3 V+ t6 z- P* C, e9 I7 l4 W( a
方法: ) m9 J; ~0 M1 `; D0 |) O
DB::delete()
1 l. D) Z( E: y7 N参数: - l8 g/ w1 i ^6 f9 z
$table:删除数据的表
; G# V$ U+ j' Y+ x& Y) A$condition:删除的条件 - \6 t( m" t6 p) Q4 N) p7 q3 E7 R
$limit:删除满足条件的条目数 , |* `2 l1 h v5 |- B) q% M
$unbufered:是否使用无缓存查询 ! ?1 a* C2 f/ ]" A: j
# @5 q5 s/ Z9 w0 J1 _0 X实例:
2 k3 g" F6 m6 D: _DB::delete('test_db','id>2',1,true);m
" X- d3 q# \& d& D' n' ?! L0 U0 `& l5 F# I6 _2 H' Q' j
数据表更新:
3 v2 {8 x6 m0 [4 D方法:
; B$ u3 U9 E, z# R. BDB::update() . } u- X1 ^! W" C
参数:
( a/ c5 v$ W9 y, S( A6 N* k& k4 ?1 F8 A$table:更新数据的表
# y3 z: `! S8 n& n$data:更新的数据,字段对应值
; c" c/ q' x( B: ^% r: W$condition:更新的条件
# G4 V8 q/ i- ~9 }$ W% u) I$unbufered:是否使用无缓存查询
. ~2 ?5 ?; h: r% M8 @: z$low_priority:是否采用无锁表更新 6 Z: j- \. u0 D3 r8 ]1 f8 p: r
% s, j+ g) c8 }1 p+ \. A) p4 `0 g数据表查询(单条): / m: I: ^/ q7 k. {
方法:
6 A- U3 K3 G# Z1 r+ kDB::fetch_first()
$ f0 e0 N) }3 q p- K参数:
" y1 i$ W3 I) D( V7 m* }$sql:查询数据的SQL语句 " ? U' u: Q+ u6 I8 O- O- @4 e
$arg:绑定查询的参数 ) q) ~, V6 e7 V% F- N; F0 h9 X
$silent:查询失败是否不提示 x' c& y* n, G0 h8 S$ m& k
实例: ) G8 f" r$ N' G; i
$id = $_GET['id']; * I( `3 ~* R* g% ]) ~' B' r6 O. r
DB::fetch_first('select * from %t where id=%d',array( ' J7 e/ h% r ~2 ~: C
'test_db',$id % J& C" y9 f9 I+ V- j: }8 o* V, ~
));
# t+ z, M/ ^1 E) {& r# i0 c8 X' }+ `/ H; k1 N
DB::fetch_first('select * from %t where name=%s',array(
7 ~4 C% i% g! A5 ]' E'test_db','ccc' : |$ |2 [/ ~+ k$ n' o7 _
)); 9 X$ G4 U! Q! {
1 e, g6 ^: v U- e6 Z, }8 t) b. K1 Q2 H" l+ \) `
* c4 I) W' |. I; ^$ s! t# p数据表查询(多条):
# P* o8 c% d, R# k" v# s) z方法: - M+ }9 l- W: j1 x! v' m1 M
DB::fetch_all()
" Y1 p. Z0 D0 ]. k, |参数: 7 i9 V4 o$ p" Q1 D
$sql:查询数据的SQL语句 % S6 S/ }/ l. J- L3 O
$arg:绑定查询的参数
7 w- b+ B+ U& S" W2 G1 o$keyfield:一维索引的字段名称 % h1 Z' l2 p& D9 I
$silent:查询失败是否不提示 ; ~# P7 P: X' a3 ^; l5 k; V
实例: ' U( ^$ l! `3 k* v( ?
DB::fetch_all('select * from %t where id >= %d AND id<=%d',array(
# i# C7 o. }5 H/ |'test_db',7,10 3 h* x% d. J4 V( Q
));
1 {, V7 y; F& m% H% u& A$ `' f- W7 J0 ^8 Z- v
DB::fetch_all('select * from %t where id IN (%n)',array( % O; g/ x: R- r3 v5 M
'test_db',array(1,2,3,4,5) " x3 s! q6 b" i6 ~* f& j
)); 2 Y2 i1 c+ g/ N$ q$ [6 y* I
% A% o+ _9 w- \, {* [8 K* _
数据表查询(单字段) 常用于统计查询:
( _( t) }3 _7 g0 F9 `9 Y7 F方法:
* ?4 l1 j5 p( ~: l. {6 kDB::result_first() : t- L5 N* v7 E3 }+ t2 j
参数:
3 Z: Q& s7 N: w$sql:查询数据的SQL语句 1 v2 q$ Q2 @9 _! `+ R6 F1 y' y
$arg:绑定查询的参数 N7 ^7 X" ]* i
$silent:查询失败是否不提示 , m% \2 ~% ~; Y# B* ]
实例: ; c$ \, O$ h* x* @7 b9 z+ t" f
DB::result_first('select name from %t where id=%d',array( 3 |& p8 @" g7 u9 U. Y
'test_db',1 ; {# {, V T' m E! N5 a, q
));
# F% G7 q3 G6 W6 s, q) ^9 S
; x* Y0 [$ `& c0 c8 W9 A! Z) }DB::result_first('select max(id) from %t',array(
4 S: K( G; Z+ v* t; R'test_db' * A2 d0 I6 \1 _' j* J3 k/ z
)); 0 T: `8 }2 D. [; X( o3 m
; B- j, o" g; N+ b5 F- `
数据库自定义query
1 l9 v4 E2 N5 L5 ?% j5 Q方法:
. X! J1 t K/ A% V sDB::query()
4 C1 y) P- d9 M, A参数: : ]: N( n8 \- m% G6 }+ F/ u
$sql:自定义SQL语句 * K+ p& G: O4 Y( B" y
$arg:需要绑定的数据 ; X) H8 `" |; f3 Z7 c; ^
$silent:执行SQL失败时,是否不提示 0 E' P, ^- c e4 a
$unbufered:是否使用无缓存查询 % z$ t2 a. p- P! w, P. {" `( {& x
实例:
, @8 H& m& A) U% K* J$query = DB::query("select * from %t where id IN (%n)",array(
) g: E( [1 f# p* T1 l'test_db',array(1,2,3)
& B. W) A7 c. n8 k+ U)); 8 K% e1 H G9 F7 |% E
debug($query); ' K" M9 U2 l+ w: Y! N+ G
' p4 d. ?. [/ |# @% |删除 + S* s |- S# t
DB::query("delete from %t where id = %id",array( 3 h' ^# K, ^6 }( U% A, ~
'test_db',11
& M4 Z2 f1 h; e9 k( F! S7 W+ V2 R$ B));
" |/ g O: V$ K3 B# h: [& G s2 B5 u5 v* l* _2 ]0 s. \( w9 O
2 I0 R/ K/ W/ u) I" [. g9 G. R资源集转换结果集 : s& U! c3 s3 {+ T& }
方法: / }! B$ E6 S; x; [& t V3 Y
DB::fetch() $ l7 c0 x, ^5 z- x* U7 s- U
参数:
- c1 N# `# _ H- u$ R$resourceid:数据库查询的query资源
( E! y* f. F/ i* ^ w. J+ ^$type:数组类型 4 E+ \9 O# K. g& q. m
实例: 6 j7 W' |# @5 `8 M4 r+ C
查询 " w+ c! H t: X, _
$query = DB::query("select * from %t where id IN (%n)",array(
3 s+ H, n0 F" F8 s: ~( J! e5 o'test_db',array(1,2,3)
* k1 F$ d- h3 ]5 ~)); + a, H' i: o+ s: ]. Q
while($res = DB::fetch($query)){ 4 Y) y2 I r: T0 y1 G; u
$result[] = $res;
: F( u- }) E* n( A} 9 I- [7 b& d( o( R5 U, F' D
debug($query);
1 c2 _) e. G6 n1 y1 U; h
+ Y: j& \* P( o1 H* o9 M单字段资源集转换结果集(一般用于查看获取统计值)
9 N0 I3 z3 ^8 D* q' b方法:
4 ~& p% W5 W( z9 nDB::result() " N. x3 H& i0 T2 a% B* k
参数:
9 j" ^% v4 D, _ m$resourceid:数据库查询的query资源
# T, D# L! h+ Z1 |; ^$row:指定行的第一个字段
+ `+ s D9 {/ _9 ?5 S实例: ' f, M& m$ X, W
$query = DB::query("select count(*) from %t where id < %id order by id",array(
# |2 X, D) {& R) \'test_db',10 4 N) k* x9 P+ X+ h
));
, R0 ?8 Q- E7 h- s$data = DB::result($query,1);
) _: O7 Y' T0 e" A3 N( x
% B: o/ j8 x: M常用实例:
4 o$ }* P0 V3 b# M2 |; B$query = DB::query("select count(*) from %t where id > %d",array(
* a* y6 a I9 Q) Z3 p X0 z'test_db',7 : b) |: K) n& O& Z
)); ! d, l% L; J S/ f; @$ j
$data = DB::result($query,0);
# y( t, I' k% t: U$ pecho $data; : }$ j! f; }8 u4 ]% \; j# C( |
* M, ?( Q8 h }3 {
资源集行数计算(不适合统计太多的资源,速度慢)
" n7 q8 u* }; Q+ @+ I7 k方法:
* C- ^3 Q2 t3 `" QDB::num_rows()
: J) v1 [9 S4 s; y3 b! p6 N( ?7 s参数:
; K3 h7 }$ x% D7 V: ]9 C$resourceid:数据库查询的query资源 ) y# {: t3 o! H. c% G7 U+ ]
实例:
* m% m* l# \0 L2 o; Y$query = DB::query("select * from %t where id > %d",array(
`4 W1 O! y& K0 T; c'test_db',7
" [8 j. C" @- }- Q));
) B6 r. }# E1 R; R4 Y$data = DB::num_rows($query);
2 v: E& ]3 G, R* S1 V. o! mecho $data; ) Q, o' M$ K. s0 M
- j* F9 K4 T$ ]- I* I* Q
资源集资源释放 ) H K+ I$ d' j& V
方法:
9 _; V, `" I. Q& FDB::free_result() ( U* X. Y$ @& U5 ]
参数: & V" U* y8 o0 ]0 w! ~: W* |
$query:执行SQL语句的query资源
4 t: q5 t1 B9 R3 Q0 d$query = DB::query("select count(*) from %t where id > %d",array(
# q# |4 s/ B: [5 ]; S: y( ^'test_db',7 # p# g& |. V1 F; k& D
)); 8 O4 ?0 e' v% o' i
$data = DB::result($query,0); : C7 q* @' o* J6 J
DB::free_result($query); 4 u# j6 q/ `3 o- N. W' x
echo $data; . `. S2 ]( m5 P! D9 P% J
4 ~1 r% ~5 o; v2 p( H$ J按字段排序
- u5 F9 [: W [7 h9 i" g0 |- k4 y方法:
1 y5 R' H* A% ?, s; x1 EDB:  rder() 3 u* z4 k' L- r+ H
参数: & @/ w( [/ B3 U/ G6 x% f5 m
$field:需要排序的字段 ) F4 U. u3 `& l# p& C5 o. e
$order:排序方式
0 o! H" z/ U1 n. b实例:
: D( ]1 U" e' n7 x9 w; p, v$query = DB::query("select * from %t where id > %d order by".DB:  rder('id','desc'),array(
, w3 |' Q6 z0 [" K5 ]'test_db',7
* v& I5 y& {$ C)); : d- q( Q* \- I5 D+ A
$data = DB::result($query,0); ) H3 `7 P9 q Z- c
DB::free_result($query);
5 u: b1 R3 p' decho $data;
9 m3 i" D u7 f7 U% G
- H9 b7 |9 @0 T9 }' {取值区间设定 2 R7 G) Y: c" m$ l8 h9 a! w2 X
方法:
. ^+ l5 w4 o. R$ r( u5 E! c% k) x$ B" `DB::query() & q; g" v$ j. t- S; H/ O
参数: 3 ?* g2 m P8 c, } r: [4 [! |
$start:开始的索引值
2 Y) ^* w9 g4 u$limit:条目数 5 P+ l/ q$ b. B9 e5 O* E
$query = DB::query("select * from %t where id > %d order by".DB:  rder('id').DB::limit(0,3),array( & c# p- H( q! [' t( N# U- b- o* b
'test_db',7
: t! Q$ b( ]! c, M& [" u)); 0 A& B$ `0 v; D! V9 J7 u7 x
* q% s+ V$ W, f3 k字段拼接 1 i- E* n# x/ P9 V1 a- R5 C; y. U" e
方法:
+ x) }, k! G* z2 O. I' H" D- S) [" W8 EDB::implode() ) a- P; G( `* m* a! y- M) c
参数: * C+ z& p! I$ J5 B" L7 u6 X9 A
$array:需要拼接的字段数组 : N$ o+ H) |! J
$glue:字段拼接的字符串
* ]. k: ^4 Q# R; A& |实例: - H ~1 G u& v! h: d' @% K: o' W
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
8 O" m4 r$ D/ C! n6 E2 Q3 e$ K: @2 _$ l; z: S. s+ T/ w, k
应用: " X% J+ H8 v6 N
DB::query("update %t set".DB::implode(array( ! x9 S7 f3 t8 ?( K0 x. v, a
'name' => 'ddd',
! b, G( X' d( Y'id' => 22 2 ?( h$ [3 ^3 R; l( l
)).'where id=%d',array(
" `! e+ j* c; A! s2 D( H'test_db', 9 Q+ [+ K' {# ?1 b
10,
, ]! h# z7 x, q)
. \) ^/ U4 H" J1 s6 f7 E; R);
" M( C$ M( B8 l, L8 I( ~5 C8 {) @3 G
字段数据设定
' e3 n, O2 M8 h/ v9 w6 T2 J: H方法:
# v; W) I* X% T7 s1 }3 v7 ]DB::field() 9 y7 Y8 a+ H- W, o+ |6 o! Z5 ~4 o, ?! ]
参数: 4 S9 M' d9 a, O: z1 r- a
$field:需要排序的字段
4 |3 _0 Q- I7 c$val:字段对应的值 1 u" ^* s7 g9 o
$glue:连接字段与值的类型 ( C! v5 Q8 r% m6 A
实例:
& c l6 n7 D+ I/ L$ X% _) V4 W9 tDB::field('id', 99, '=');
$ M4 b! ?$ K5 I. Q0 f3 k* E" N* E- `0 ~
应用(把3改成99): 2 s* D- f' d) \
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array( ( D7 O6 x- a# `7 @* _
array('test_db', 3); # z* Z# g& v# X6 I. j) \
)); 3 K7 A7 V- ]8 ?- Z
| |  | |  |
|
|