db 类的成员方法都是静态方法,因此使用时不需要初始化,主要操作如下:
一、执行一个查询
$rsid = db::query ($sql, $is_master = false)
参数:
1、$sql 要运行的SQL语句,可以是查询语句,也可以是update类语句
2、$is_master 读写分享参数,默认false为只读服务器,true为可写用于create、update、insert、delete等情况
返回值 $rsid 是查询游标
二、获取一条记录
db::fetch_one ($rsid, $result_type = MYSQL_ASSOC)
return array || false
fetch_one 实际是在执行query后才进行获取单条数据的方法,通常在 while 里可以用 while($row = db::fetch_one()) 如:
- $query = "Select * From `{$this->user_table}` limit 100 ";
- $q = db::query($query);
- while( $row = db::fetch_one($q) )
- {
- $rows[] = $row;
- }
- print_r( $rows );
如果只是用指定的SQL获取单条记录,使用下面方式会更简便:
db::get_one ($sql, $result_type = MYSQL_ASSOC)
示例:
- $query = "Select * From `{$this->user_table}` where `uid`='{$this->uid}' ";
- $q = db::query($query);
- $fields = db::fetch_one($q);
上面代码可以简化为:
- $query = "Select * From `{$this->user_table}` where `uid`='{$this->uid}' ";
- $fields = db::get_one($query);
三、获取上次查询爱影响的记录数
db::affected_rows()
return int
四、返回某次查询所得的总记录数
db::num_rows ( $rsid )
return int
$rsid 参数是执行query查询时设定的游标数字默认是当前程序执行的query次数
五、获得上次 insert 操作的自动递增id
db::insert_id ()
return int
六、返回上次查询的所的记录
db::fetch_all ($rsid)
return array
$rsid 参数是执行query查询时设定的游标默认是当前程序执行的query次数
七、使用新的连接(用于多数据库操作)
db::set_connect ($linkname, $config)
$linkname 连接名(随便定义,default是默认的连接)
$config 数据库配置信息(必须按$GLOBALS['config']['db']数组的格式定义)
return void
db::set_connect_default( $config='' ) 恢复到默认的连接
$config 可选,没指定的情况下,默认使用$GLOBALS['config']['db']
应用场景:假设从B数据库查询数据插入A数据库,那么在进行查询前先通过 db::set_connect ($linkname, $config) 切换到B数据库,在循环记录集时,db::set_connect_default() 回到数据库A,然后把B的数据插入A的数据库中,再切换回db::set_connect ($linkname, $config),继续循环。
八、事务处理相关操作
db::autocommit ( $mode = 0)
设置是否自动提交事务
$mode 0 | 1
return void
db::begin_tran( )
开始事务
return void
db::commit ( )
执行事务
return void
db::rollback( )
回滚事务
return void
.
|