-
- /**
- * クラス 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 = 新しい CDb($table_name,$db_setting, $db_config);
- self::$db=$db;
- }else{
- $db=self::$db;
- }
- /**構成
- * @param $table_name テーブル名
- * @param string $db_setting データベース構成項目の呼び出し
- * @param array $db_config データベース構成
- * @return CDb
- */
- 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 追加するデータ、パラメータは配列です。配列のキーがフィールド値、配列の値がデータ値
- * @param bool $return_insert_id 新しい ID 番号を返すかどうか
- * @param bool $replace データを置換して追加するかどうか
- * @return boolean
- */
- パブリック静的関数 insert($table, $data, $return_insert_id = false, $replace = false) {
- $db=self::cdb();
- return $db->insert($data, $return_insert_id, $replace);
- /**
- * 最後に追加されたレコードの主キー番号を取得します
- * @return int
- */
- $db=self::cdb(); db->insert_id ();
- }
- /**
- * レコード更新操作を実行
- * @param $table テーブル名
- * @param $data 更新するデータ内容、パラメータは配列
- * 配列の場合、配列のキーがフィールド値、配列の値はデータの値です
- * 配列の場合 [例:array('name'=>'lanmps','password'=>'123456')]
- * arrayの別の使い方 array('name '=>'+=1', 'base'=>'-=1');プログラムは自動的に `name` = `name` + 1, `base` = `base` - 1 として解析します
- *文字列は次の形式に従ってください:
- * string[ 例 2: array('catid=:catid AND time>=:time ',array(':catid'=>10,':time'=>'2012- 02-10')) ]
- * @param $where データ更新の条件、
- * string の形式に従ってください:
- * string [例 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')]
- * @return boolean
- */ bbs.it-home.org
- パブリック静的関数 update($table, $data, $where) {
- $db=self::cdb ();
- $ db->setTableName($table);
- return $db->update($data,$where);
- /**
- * 単一レコードのクエリを取得します
- * @param array $sql クエリ条件ステートメント
- * @return 配列/null データのクエリ結果セット、存在しない場合は空を返します
- */
- パブリック静的関数 fetchFirst($sql) ) {
- $db =self::cdb();
- return $db->fetch($sql);
- /**
- * SQL クエリを実行します
- * @param $sql クエリ条件
- * @return array クエリ結果セットの配列
- */
- パブリック静的関数 fetchAll($sql) {
- $db =self::cdb ();
- return $db->fetchAll($sql);
- /**
- * SQLクエリを直接実行
- * @param $sql SQLステートメントをクエリ
- * @return
- */
- パブリック静的関数クエリ($sql) {
- $db=self::cdb ();
- return $db->exec($sql);
- }
- /**
- * SQL クエリを実行します
- * @param $table テーブル名
- * @param $where クエリ条件
- * 文字列、形式に従ってください:
- * String [例 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 = '*', $制限 = '', $order = '', $group = '') {
- $db=self::cdb();
- $db->setTableName($table); $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 配列/null データクエリ結果セット、存在しない場合は空を返します
- */
- パブリック静的関数 getOne($table,$where,$fields = '*', $order = ' ', $group = '') {
- $db=self::cdb();
- $db->setTableName($table);
- return $db->get_one($where , $fields,$order, $グループ);
- /**
- * 複数のデータをクエリしてページ付けします
- * @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 field*,id
- * @param $order sort id desc ,orderlist asc
- * @param $page ページ番号 1
- * @param $pagesize ページごとの項目数
- * @return array('data'=>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
- * @returnmixed
- */
- パブリック静的関数 resultFirst($sql){
- $db=self::cdb();
- return $db->resultFirst($sql);
- }
- }
复制代码
调用方法:
DB::insert('テスト',array('名前'=>'テスト')); |