# CTG_DBLib **Repository Path**: cntaige/CTG_DBLib ## Basic Information - **Project Name**: CTG_DBLib - **Description**: php语言的极轻量级的MYSQL数据库操作类 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2014-10-31 - **Last Updated**: 2024-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README CTG_DBLib 极轻量级的MYsql数据库操作类 ------------------------------------------ ## CTG_DBLib特点: ### 极小极轻量 #### min文件仅6KB左右,运行起来几乎感觉不到文件的存在 ### 防注入安全操作 #### 操作数据防注入这个是必须的,内部采用PDO安全预处理 ### 支持链式操作 #### 链式操作 $DB->where(...)->find(),操作起来更具逻辑性,方便快捷 ### 配置简单 #### 实例化DB的时候以数组的形式输入相关参数即可 入门教程 ============================================= 引入类库文件 ```php include_once './CTG_DBLib.min.php'; ``` 实例化 ```php $DB = new CTG_DBLib ( array ( 'DB_NAME' => 'dbname', // 数据库名 'DB_USER' => 'root', // 数据库用户名 'DB_PWD' => '', // 密码 'TABLE' => 'table' // 默认要操作的数据表 ) ); ``` 插入数据 ```php $re = $DB->insert ( array ( 'em_id' => 80, 'account' => 'cntaige' ) ); //返回插入的id主键 ``` 更新数据 ```php $re = $DB->update ( array ( 'em_id' => 80, 'account' => 'ccccc' ) );//返回影响的行数 ``` 删除数据 ```php $re = $DB->delete ( array ( 'em_id' => 80 ) );//返回影响的行数 ``` 查询数据 返回关联数组 ```php $re = $DB->where ( array ( 'id' => 1 ) )->find ();//返回关联数组 //sql : SELECT * FROM wl_user WHERE ( `id` = '1' ); $re = $DB->where ( array ( 'and' => array ( 'account' => 'ccccc', 'id' => 1 ) ) )->find (); //sql : SELECT * FROM wl_user WHERE ( `account` = 'ccccc' AND `id` = '1' ) //limit 查询 $re = $DB->where ( array ( 'and' => array ( 'account' => 'ccccc', 'id' => 1 ) ) )->limit ( 10 )->find (); //sql : SELECT * FROM wl_user WHERE ( `account` = 'ccccc' AND `id` = '1' ) LIMIT 10 //安全防注入sql语句查询 注意 ?(问号)对应的值,请不要在第一个参数中传入要查询的值,应使用?对应的值,否则是不会进行安全查询的 $re = $DB->rawQuery ( "SELECT * FROM wl_user WHERE ( `account` =? AND `id` = ? ) LIMIT 10", array ( 'ccccc', 1 ) );// 查询数据时返回结果集,更新添加删除数据时返回影响的行数 //获取最后的查询sql语句 echo $DB->querySql (); ``` ### 更多内容请查看 CTG_DBLib.php文件 --------------------------------------- ###以下列出此类库所有public方法 ```php /** * 设置数据表 * * @param string $table * 要操作的数据表 * @return CTG_DBLib 当前对象 */ public function table($table); /** * 统计数量 * * @param array $where * @return int 数量 */ public function count($where = array()); /** * 是否存在条件查询内容 * * @param array $where * @return boolean */ public function has($where = array()); /** * 设定数据结果集记录数 * * @param integer $start * 开始行数, $end 结束行数, * 只设置第一个参数时为返回最大的记录行数 * @return CTG_DBLib */ public function limit($start, $end = ''); /** * 数据集排序 * * @param string $order * 排序字段 * @return CTG_DBLib */ public function order($order); /** * 更新数据 * * @access public * @param array $data * 要更新的数据 字段=>值 * @return string number */ public function update($data); /** * 删除数据, * 如果不传入查询条件,将不进行任何查询操作 * * @param array $where * 删除条件 字段=>值 * @return number 影响的行数 */ public function delete($where = array()); /** * 插入数据 * * @param array $data * 字段=>值 * @return string 返回插入的主键id */ public function insert($data); /** * 查询的条件 * * @param array $where * 字段=>值, * like查询:'like'=>array(字段=>值), * 关联查询:'&'=>array('table1.id','table2.uid') * @return CTG_DBLib 当前对象 */ public function where($where); /** * 要查询的字段 * * @param array $fields * array(字段=>别名,字段1,字段2...) * @return CTG_DBLib */ public function field($fields = array()); /** * 查询数据结果集 * * @return array 返回关联数组结果集 */ public function find(); /** * 安全预处理查询 * * @param string $sql * 要查询的语句 * @param array $values * 要查询对应的?值 * @return Ambigous |Ambigous * 查询数据时返回结果集,更新添加删除数据时返回影响的行数 */ public function rawQuery($sql, $values = array()); /** * 直接执行sql语句,此方法未做防注入安全处理 * * @param string $sql * 要执行的sql语句 * @return Ambigous * 查询数据时返回结果集,更新添加删除数据时返回影响的行数 */ public function query($sql); /** * pdo内置转义处理 * * @param string $string * @param int $type * @return string 处理后的字符 */ public function quote($string, $type = PDO::PARAM_STR); /** * 获取最后一次完整的查询sql语句 * * @return string */ public function querySql(); ```