pdo php代码,PHP PDO封装静态类代码分享

/**

* Class DB

* 数据库操作类

*/

class DB {

/**

* @var

* @return CDB

*/

private static $db;

/**获取CDb类

* @param $table_name 表名称

* @param string $db_setting 调用数据库配置项

* @param array $db_config 数据库配置

* @return CDb

*/

public static function cdb($table_name='',$db_setting='default',$db_config=array()){

if(!isset(self::$db)){

$db = new CDb($table_name,$db_setting,$db_config);

self::$db=$db;

}else{

$db=self::$db;

}

return $db;

}

/** 配置

* @param $table_name 表名称

* @param string $db_setting 调用数据库配置项

* @param array $db_config 数据库配置

* @return CDb

*/

public static function init($table_name='',$db_setting='default',$db_config=array()) {

return self::cdb($table_name,$db_setting,$db_config);

}

/**

* 执行删除记录操作

* @param $table 表名称

* @param $condition 删除数据条件,不充许为空。可以为数组

* @return boolean

*/

public static function delete($table, $condition) {

$db=self::cdb();

$db->setTableName($table);

return $db->delete($condition);

}

/**

* 执行添加记录操作

* @param $table 表名称

* @param array $data要增加的数据,参数为数组。数组key为字段值,数组值为数据取值

* @param bool $return_insert_id 是否返回新建ID号

* @param bool $replace 是否采用 replace into的方式添加数据

* @return boolean

*/

public static function insert($table, $data, $return_insert_id = false, $replace = false) {

$db=self::cdb();

$db->setTableName($table);

return $db->insert($data, $return_insert_id, $replace);

}

/**

* 获取最后一次添加记录的主键号

* @return int

*/

public static function insertID() {

$db=self::cdb();

return $db->insert_id();

}

/**

* 执行更新记录操作

* @param $table 表名称

* @param $data 要更新的数据内容,参数为数组

* 为数组时数组key为字段值,数组值为数据取值

* 为数组时[例: array('name'=>'lanmps','password'=>'123456')]

* 数组的另一种使用array('name'=>'+=1', 'base'=>'-=1');程序会自动解析为`name` = `name` + 1, `base` = `base` - 1

* 字符串,请按照格式 :

* 字符串 [例2:array('catid=:catid AND time>=:time ',array(':catid'=>10,':time'=>'2012-02-10')) ]

* @param $where 更新数据时的条件,

* 字符串,请按照格式 :

* 字符串 [例1:" id=1 and time>$time " ]

* 字符串 [例2:array('catid=:catid AND time>=:time ',array(':catid'=>10,':time'=>'2012-02-10')) ]

* 数组时 [例: array('name'=>'lanmps','password'=>'123456')]

* @return boolean

*/ bbs.it-home.org

public static function update($table, $data, $where) {

$db=self::cdb();

$db->setTableName($table);

return $db->update($data,$where);

}

/**

* 获取单条记录查询

* @param array $sql 查询条件语句

* @return array/null数据查询结果集,如果不存在,则返回空

*/

public static function fetchFirst($sql) {

$db=self::cdb();

return $db->fetch($sql);

}

/**

* 执行sql查询

* @param $sql查询条件

* @return array 查询结果集数组

*/

public static function fetchAll($sql) {

$db=self::cdb();

return $db->fetchAll($sql);

}

/**

* 直接执行sql查询

* @param $sql 查询sql语句

* @return

*/

public static function query($sql) {

$db=self::cdb();

return $db->exec($sql);

}

/**

* 执行sql查询

* @param $table 表名称

* @param $where 查询条件

* 字符串,请按照格式 :

* 字符串 [例1:" id=1 and time>$time " ]

* 字符串 [例2:array('catid=:catid AND time>=:time ',array(':catid'=>10,':time'=>'2012-02-10')) ]

* 数组时 [例: array('name'=>'lanmps','password'=>'123456')]

* @param $fields需要查询的字段值[例`name`,`gender`,`birthday`]

* @param $limit 返回结果范围[例:10或10,10 默认为空]

* @param $order 排序方式 [默认按数据库默认方式排序]

* @param $group 分组方式 [默认为空]

* @return array 查询结果集数组

*/

public static function select($table,$where = '', $fields = '*', $limit = '', $order = '', $group = '') {

$db=self::cdb();

$db->setTableName($table);

return $db->select($where , $fields , $limit, $order , $group);

}

/**

* 获取单条记录查询

* @param $table 表名称

* @param array $where查询条件语句

* 字符串,请按照格式 :

* 字符串 [例2:array('catid=:catid AND time>=:time ',array(':catid'=>10,':time'=>'2012-02-10')) ]

* 数组时 [例: array('name'=>'lanmps','password'=>'123456')]

* @param string $fields 需要查询的字段值[例`name`,`gender`,`birthday`]

* @param string $order 排序方式 [默认按数据库默认方式排序]

* @param string $group 分组方式 [默认为空]

* @return array/null数据查询结果集,如果不存在,则返回空

*/

public static function getOne($table,$where,$fields = '*', $order = '', $group = '') {

$db=self::cdb();

$db->setTableName($table);

return $db->get_one($where , $fields,$order, $group);

}

/**

* 查询多条数据并分页

* @param $table 表名称

* @param $where 查询条件

* 字符串,请按照格式 :

* 字符串 [例1:" id=1 and time>$time " ]

* 字符串 [例2:array('catid=:catid AND time>=:time ',array(':catid'=>10,':time'=>'2012-02-10')) ]

* 数组时 [例: array('name'=>'lanmps','password'=>'123456')]

* @param $fields字段 *,id

* @param $order 排序 id desc ,orderlist asc

* @param $page 页码 1

* @param $pagesize 每页条数

* @return array('data'=>数据,'count'=>记录总数)

*/

public static function listInfo($table,$where = '',$fields='*', $order = '', $page = 1, $pagesize = 20) {

$db=self::cdb();

$db->setTableName($table);

$d=$db->listinfo($where,$fields, $order, $page, $pagesize);

return array('data'=>$d,'count'=>self::$db->number);

}

/**第一个参数值

* @param $sql

* @return mixed

*/

public static function resultFirst($sql){

$db=self::cdb();

return $db->resultFirst($sql);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值