-
- /**
- * 클래스 DB
- * 데이터베이스 연산 클래스
- */
- 클래스 DB {
- /**
- * @var
- * @return CDB
- */
- 개인 정적 $db;
- /**CDb 클래스 가져오기
- * @param $table_name 테이블 이름
- * @param string $db_setting 호출 데이터베이스 구성 항목
- * @param array $db_config 데이터베이스 구성
- * @return CDb
- */
- 공용 정적 함수 cdb($table_name='',$db_setting='default',$db_config=array()){
- if(!isset(self: :$db)){
- $db = 새 CDb($table_name,$db_setting,$db_config);
- self::$db=$db;
- }else{
- $db=self::$db;
- }
- $db를 반환합니다.
- }
- /**구성
- * @param $table_name 테이블 이름
- * @param string $db_setting 호출 데이터베이스 구성 항목
- * @param array $db_config 데이터베이스 구성
- * @return CDb
- */
- 공용 정적 함수 init($table_name='',$db_setting='default',$db_config=array()) {
- self 반환: :cdb($table_name,$db_setting,$db_config);
- }
- /**
- * 레코드 삭제 작업 실행
- * @param $table 테이블 이름
- * @param $condition 데이터 조건을 삭제하며 비워 둘 수 없습니다. 배열일 수 있음
- * @return boolean
- */
- 공용 정적 함수 delete($table, $condition) {
- $db=self::cdb();
- $db->setTableName($table);
- return $db->delete($condition);
- }
- /**
- * 执行添加记录操작품
- * @param $table 表name称
- * @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 " ]
- * String [예 2: array('catid=:catid AND time>=:time ',array(':catid'=>10,': time '=>'2012-02-10')) ]
- * 배열 [예: array('name'=>'lanmps','password'=>'123456')]
- * @ param $fields field*,id
- * @param $order 정렬 id desc, orderlist asc
- * @param $page 페이지 번호 1
- * @param $pagesize 페이지당 항목 수
- * @ return array('data'=>data,'count'=>총 레코드 수)
- */
- 공용 정적 함수 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 혼합
- */
- 공용 정적 함수 resultFirst($sql){
- $db=self::cdb();
- return $db->resultFirst($sql);
- }
- }
复代码
调사용 방법:
DB::insert('test',array('name'=>'test')); |