| | | | 数据表插入:
/ F' J K6 _, ^2 V" X5 a! X方法:
" m; d) r9 N4 Z2 a7 bDB::insert() , w0 z, R w2 e5 E% p6 A! [' A7 d
参数:
; h% Q* E0 q/ Q" e V$table:插入数据的表 3 L, ]& k" k; ?7 X4 B% I) o
$data:插入的数据,字段对应值 ; U# p9 \. L W* r! _, _7 W# r+ @
$return_insert_id:是否返回插入数据的ID * Z7 T [: W5 c$ ?5 e
$replace:是否使用replace into(当原始表中存在不重复数据就插入,存在就更新)
$ b+ Q) f& A0 C1 ^' x- q$silent:操作失败是否不提示 ( i, e$ v- Y, S: v
; M9 I; S+ E" o) W$ r# Z* \) p实例 / {- @9 U# D* q5 X/ J7 d
DB::insert('test_db',array(
. D; R8 I; T, x) X'name' => 'ppc',
, w0 z" H8 A; z) q4 d0 u" n' o; t),true,true); ) X4 r1 `, c' m' l
% {& {8 x- C+ P, R
数据表删除:
7 q& ?5 q3 S. s0 w" [& q1 j A方法: ' n5 Y* S5 @9 z# e! z% @" C
DB::delete()
+ h" k$ v5 W. N' n9 F参数:
/ K4 C X2 n( ]* j3 l2 I$table:删除数据的表 8 z# T# \( _' S- j9 L6 z
$condition:删除的条件 ~& b d2 H7 n& Z4 R- ~
$limit:删除满足条件的条目数 & u( e4 i! T' @. h! n9 ~2 v% I
$unbufered:是否使用无缓存查询 # m7 Z: ?/ j0 u
4 n4 E; W* y* t0 M" {0 M) V: ~实例: ( _, {' B+ m7 V$ J" ^. ?0 X
DB::delete('test_db','id>2',1,true);m
" m+ A0 P6 ?4 k: j: q: E. B- d
: p" j0 ]( q8 L8 P/ j- Y& Y数据表更新: . `& f. I* r5 Q8 U, j/ A/ P
方法:
5 H4 k' N/ y( t. k& ~( ^DB::update() % _) H, w8 ^3 X0 e0 V& h$ y# T3 ]
参数:
0 h. B7 x& M! ?( h! b U6 {" {) l$table:更新数据的表 2 p- W# o( N+ {+ A" v
$data:更新的数据,字段对应值
, y2 z' j- u( ~0 B' s z, O$condition:更新的条件
0 S/ g& {5 s' c- K4 x: Z$unbufered:是否使用无缓存查询
! J2 {. L3 }3 A3 x5 ?- O5 j& Y, O9 q$low_priority:是否采用无锁表更新
$ X' g- K) f( j- a3 ?+ c: z5 l( w w. E
数据表查询(单条): ( S" O% a" G8 H7 R5 O+ e
方法: ' P% Z0 h/ ^' A ?' h: B* { {
DB::fetch_first()
+ O% D8 ~* ~, u+ n' o ]参数:
% {1 d' H) A0 k& Z& K# M$sql:查询数据的SQL语句 8 [% R- }7 x/ [( {
$arg:绑定查询的参数
6 x8 w- U) s7 u$ I6 X1 c; a( Z$silent:查询失败是否不提示 - N# O& b; N3 q% S/ p7 T) e8 R: s
实例:
' }1 i5 v/ a. j6 e* ~; q3 D$id = $_GET['id'];
1 T6 C% q8 y0 mDB::fetch_first('select * from %t where id=%d',array( $ j) Q% V5 Y0 v# f
'test_db',$id \% A: }- @2 c3 k6 t1 ^
)); 8 Z, p6 x0 M, ^1 M/ e
4 ^* x( ^& I8 i9 r5 U4 @ TDB::fetch_first('select * from %t where name=%s',array( 8 \: }3 G. ?5 [0 w8 C
'test_db','ccc'
) ^5 ]* ?, D3 Z)); " F* r, ?' R8 ^) c0 L
9 \6 h6 Q/ k( a; y) T
' [. D$ G; U& }% @
% J; `. C, W4 }3 R; X" ]
数据表查询(多条): 4 W6 ?0 z+ t+ b2 n* t. v5 X
方法:
5 V1 m! T) I4 `; J9 ?DB::fetch_all() 5 T7 K+ z) |" a' W' I7 [$ K
参数:
( C2 I3 R q# x5 N1 B$sql:查询数据的SQL语句
! Y( p2 Q% E. F s3 D& I. p3 B$arg:绑定查询的参数 + T; ^7 D6 `% X
$keyfield:一维索引的字段名称
) o/ O' W0 X& ~# y# u$silent:查询失败是否不提示 0 w7 S: V4 V" l6 `7 p5 k
实例:
, ~' Z+ Y3 d9 O) PDB::fetch_all('select * from %t where id >= %d AND id<=%d',array( ' h/ x" l& m, C6 A0 E' r R5 k; M
'test_db',7,10 7 _* o8 C( @8 u8 Z; \6 }9 I) |" \
)); & \- |" F* @! J8 h& a# p
+ r! g: B2 H d
DB::fetch_all('select * from %t where id IN (%n)',array(
2 f% _0 G. L* S+ H; _* a'test_db',array(1,2,3,4,5) / t+ \/ o# H# @2 E; o$ u
));
9 H/ `5 `2 A9 L7 z
" e5 d% V1 t6 p! y- i6 H# g% x数据表查询(单字段) 常用于统计查询: 0 E; G7 N% ?2 c$ z) e" w( [( k7 X
方法: ! l5 u" c3 Y0 l4 Q+ A. H
DB::result_first() ) G( ?3 V0 j1 C" U3 p
参数:
^6 X+ Z- Q: r$sql:查询数据的SQL语句
7 A: \$ ~+ r( Y& w2 ^9 A2 j! k$arg:绑定查询的参数
, g( p# s) N0 I* @* N7 t$silent:查询失败是否不提示
+ y' k$ ~. h; K实例:
6 `& M; f- j6 J6 a( V0 IDB::result_first('select name from %t where id=%d',array(
n) t( O& L, R; G. ~5 c V'test_db',1 % _7 s' h9 t8 p/ V% ~
)); 0 ^; j7 `5 H. W' S! k
0 f- K/ @' W8 UDB::result_first('select max(id) from %t',array( o* `1 }1 M, L* A2 |1 m! [/ Q- t
'test_db' 9 j; T+ w) ?- X, e* ^! ?- i, ^8 a
));
7 ]" y5 P# Z; d
/ F4 B) P+ M' Y; c; h数据库自定义query
% g1 o3 q! @) v: j- E! B5 B+ W方法: $ o) O2 I. ?- L1 Z/ w, A6 u
DB::query() 8 \4 M6 z# @9 p6 J4 W0 q1 U$ k$ Z
参数: ' G; u9 z& r; R% C0 C- O# x
$sql:自定义SQL语句
& u# _. W" @( H5 {' Q7 F, U' e5 ~, _$arg:需要绑定的数据
9 P1 N# E' h! m! g4 |9 s$silent:执行SQL失败时,是否不提示 * G5 p2 n# g7 M" H6 @4 X
$unbufered:是否使用无缓存查询
! z! V2 M5 N7 ?实例: ) R( P# t2 q1 t4 r1 ]; T9 p1 @8 h
$query = DB::query("select * from %t where id IN (%n)",array( 5 b' {6 `1 f# D. ?6 n V3 h% W) R
'test_db',array(1,2,3) . v; ~9 c1 p3 J8 d+ }" Q
));
5 U9 c( W# B+ k% H3 ]; e' bdebug($query);
3 ?3 x9 M) ?: z7 G- u/ h( a4 A1 T% l
删除
, k7 F' [4 B& y* L. ODB::query("delete from %t where id = %id",array( 7 G8 c X, f- R: c5 [2 Q
'test_db',11
9 ^: ^- I3 V' s) }7 k! A o)); e' ~ i! [( g% S; z1 l( S" v8 I
. ]2 `, b* b9 @
1 B" A, `0 W+ e! l: p* M" {
资源集转换结果集
7 C4 J. u6 L) n( p方法:
6 f& w' ^; e; D! S$ h nDB::fetch()
/ V9 h0 h2 f. D1 I+ T, }, l$ W参数: * q) R. x0 y, D9 s
$resourceid:数据库查询的query资源 # W1 u/ Q7 d2 Y( K9 @) G- B
$type:数组类型
+ U+ W- q8 U O- h实例:
5 I* a* a# l+ E1 [查询 / A3 n( P7 g4 Y- {6 D9 w
$query = DB::query("select * from %t where id IN (%n)",array( 8 ]+ X% [) y1 p$ Q! t
'test_db',array(1,2,3)
8 w& A8 j& ?, U" n2 x# a7 o2 N6 R)); 9 A& p* g6 P7 n" i8 [% C$ [
while($res = DB::fetch($query)){ 2 H6 }& v5 @" w" Q
$result[] = $res;
, A0 E- R" z+ a3 I3 L: x}
7 r9 S: o6 R4 P% H2 _0 F3 Ydebug($query); , d' W9 X' D9 N, v2 m7 }
3 Y4 o) K$ @. Y8 K5 u5 e/ Z5 O
单字段资源集转换结果集(一般用于查看获取统计值)
8 F& o* W+ Y( r方法:
4 g1 W* g7 B% O) n7 P8 UDB::result() & D/ Z) s6 H& K* j
参数: 8 K# f5 o. q5 p k! M
$resourceid:数据库查询的query资源
/ p$ ~- M q7 O( q ?* I$row:指定行的第一个字段 ' U$ W7 B- A Z7 U
实例:
% j8 d" X2 N0 J2 }! U# B% ?$query = DB::query("select count(*) from %t where id < %id order by id",array( ' a& u2 w6 _" U5 o
'test_db',10
7 R/ Z2 M8 j+ l* X- F5 u- D)); , [2 y0 k0 [' H6 a" p$ f) {3 A) d
$data = DB::result($query,1);
2 w. ?. p. `, s
4 y7 e; u6 C( Y+ _7 Q常用实例: & g7 }3 F! }# F7 \6 Q+ X
$query = DB::query("select count(*) from %t where id > %d",array( ( d2 d- q/ D7 w6 h
'test_db',7 + U4 c" b4 j, r9 P( E& t
));
0 Y- a- F4 J4 [$ D3 E- s& {$data = DB::result($query,0);
9 G9 r2 w* f" E; s3 g* }echo $data; + W) N4 x. _ D6 S. V4 J+ C
4 o. L" H( T0 C; F( g
资源集行数计算(不适合统计太多的资源,速度慢)
# k) E2 a: C% P- O方法: 6 g( c d) [7 w: a& q% _1 M
DB::num_rows()
: r/ l% u9 B7 t% B参数:
9 F: h% |( u* x D6 Z6 u: Z ]$resourceid:数据库查询的query资源
) d G0 d; o$ j' P实例:
" s: u$ T/ h; R3 V$query = DB::query("select * from %t where id > %d",array(
# K, _8 Z/ o4 y1 u2 n'test_db',7 : d* b+ |! Z. A# S( {6 y: O' G2 q
));
4 t3 P0 ?9 Q" ~2 W! e( p6 L$ @$data = DB::num_rows($query); ( ]$ @: I* n, |0 y* t/ s; G
echo $data;
5 H2 b# M( B1 r, e
7 L" D; u4 o1 a5 M资源集资源释放
& g- M8 p% @& v9 k7 C2 }) `方法: 8 G# E* J$ V7 B4 W0 f
DB::free_result()
6 z1 ]4 R" f* {! q8 F& z参数:
' j; A+ Z4 f2 R5 B$query:执行SQL语句的query资源
. f" s* l, w# M1 t$query = DB::query("select count(*) from %t where id > %d",array( 4 ?( D' d8 I7 Y: F) p! _) {7 a
'test_db',7 ; L' @+ @ c& g+ V
)); ) T' u. J* d/ u& R
$data = DB::result($query,0);
% @: Q2 F" }9 q9 A( e5 |DB::free_result($query);
: r9 x Y5 F" H+ L$ f% Y/ Xecho $data;
- W9 r! \3 R' |3 \" [' t( [- \0 H# X ]
按字段排序
7 ?% Q" c. U* o, @* s2 E2 {6 q方法: 6 `/ ?2 {2 C- p! ] [7 |
DB: rder()
) d" K/ y+ {& ? J7 v; p# L参数:
7 r4 T4 g' u' k. B2 r" b/ j7 ~$field:需要排序的字段
/ O/ m# X( ? n( U$order:排序方式
" m; S$ `0 B* r% B实例:
% q" i8 {% Y6 u$query = DB::query("select * from %t where id > %d order by".DB: rder('id','desc'),array( & f" V! e$ S* u( H# R n( ^) ]& v
'test_db',7 8 y! f k( W* p! i" h, k
));
- w( j; R5 A0 U2 @! H7 [$data = DB::result($query,0); - J0 C( M# y' d. E* y$ t$ i
DB::free_result($query);
- ~. B/ ]' K7 l4 Y; Decho $data;
7 _! K% \$ m8 D d" m; f8 p
' @* b. Q# m8 T0 p, w% c% U取值区间设定 ' m! O% Z- v5 `- H* p! v+ {+ s B
方法:
0 x, X$ O9 V3 SDB::query() 8 g; |- Y+ x1 L
参数:
, n2 C8 y7 p* M7 L) k4 a$start:开始的索引值 7 K" M7 ?$ K3 Q+ G
$limit:条目数 8 n0 o8 ^7 X. Z. L* v( M$ D
$query = DB::query("select * from %t where id > %d order by".DB: rder('id').DB::limit(0,3),array(
+ B: S5 N; G: w'test_db',7 2 s/ r( i; z7 |
)); 3 a6 M& h5 m8 p2 N, C' x$ t: Y
; j5 B7 O! L4 X9 C! O字段拼接 9 Z3 x) R/ t: v7 y2 x2 Y/ O& ^
方法: 9 v j/ n9 g/ g7 k8 |; ^; W2 p
DB::implode()
/ m. q: c4 f9 m) X参数:
# |7 Y) p* r8 v; ?! @" U$array:需要拼接的字段数组 7 J1 W1 q' D* t7 Y2 M
$glue:字段拼接的字符串 0 P+ v# C& k }+ P( O- c t
实例: 9 e4 y: u! M4 k. f
echo DB::implode(array('id' => 10,'name' => 'ddd'),'and');
- }& e# `0 G2 I5 o! |/ k2 t+ {) c: r6 Q. i
应用: ! b& W( l0 s& H; U/ ~) z, C! u
DB::query("update %t set".DB::implode(array( : o/ I2 N6 s) }! ?& Y4 ^
'name' => 'ddd', 4 U/ s1 z" \: H! m
'id' => 22 5 V* _( z' |* e% N. i" W
)).'where id=%d',array(
* K) k% k" t4 D7 \'test_db', ) j3 I' p8 e# L0 V+ Y
10,
0 G9 K- U% v& O) , Y. q; p' s8 h; f7 O; ]
); / O, E( n5 J9 D' ^" x" @
5 M# q$ |2 S9 g% m! a% Z5 E字段数据设定 # D$ y% V8 [, K& w/ S! n
方法:
' S ~2 F; L# r( g( ODB::field() : E; P* ]/ v! p1 D; j( D
参数:
" g- O0 `2 d' s, @9 p. H' O' N$field:需要排序的字段
: r& z& |) O) a, A( [$val:字段对应的值 # D9 T* S* Q& w* `2 z9 Y" \
$glue:连接字段与值的类型 2 ?8 R. h& }) [5 s! p: h
实例: 1 R. I% c5 W# H" S
DB::field('id', 99, '=');
5 X' x, ^3 k: A8 v0 A; k% t, A
2 g8 v$ t/ X! z应用(把3改成99): ! \8 Q/ ]1 p# {- d, p4 m# e
DB::query("update %t set ".DB::field('id', '99', =)." where id=%d",array( : K0 q" ~0 h" {8 e6 l, ]
array('test_db', 3);
+ o' w7 G1 k9 {0 A));
8 v- ^1 j; ]7 H; i* o; X! l& C8 q
| | | | |
|
|