ci 對資料庫的操作

2021-08-05 21:30:51 字數 3824 閱讀 8003

首先new乙個基礎的model類,繼承自ci框架的ci_model

<?php

/** * class m_model

* base model @xwlyun

*/class m_model extends ci_model

#region 通用操作

/*** 執行sql @xwlyun

* @param $sql

* @param bool $affect_num 是否返回影響行數

* @return mixed

*/function query($sql,$affect_num=false)

return $query;

} /**

* 返回多行資料 @xwlyun

* @param $sql

* @return mixed

*/function getrows($sql)

/*** 返回單行資料 @xwlyun

* @param $sql

* @return mixed

*/function getrow($sql)

/*** 返回單行首列資料 @xwlyun

* @param $sql

* @return mixed

*/function getone($sql)

/*** 插入資料 @xwlyun

* @param $data 插入的資料array

* @param string $table 表名

* @param bool $return 是否需要返回插入成功的id

* @return bool

*/function insert($data, $table='', $return = false)

$table = $this->table;

} $query = $this->db->insert($table, $data);

if($return)

return $query;

} /**

* 刪除資料 @xwlyun

* @param $where where (e.g. array('field' =>'value',...))

* @param string $table

* @return bool

*/function delete($where, $table='',$limit=1)

$table = $this->table;

} $this->db->where($where);

$this->db->limit($limit);

$this->db->delete($table);

} /**

* 更新資料 @xwlyun

* @param $where where (e.g. array('field' =>'value',...))

* @param $update update (e.g. array('field' =>'value',...))

* @param string $table

* @param int $limit

* @return bool

*/function update($where,$update,$table='',$limit=1)

$table = $this->table;

} $this->db->where($where);

$this->db->limit($limit);

$this->db->update($table, $update);

return $this->db->affected_rows();

}#endregion

#region ci框架鏈式

/*** where (e.g. array('field' =>'value',...)) @xwlyun

* @param array $where

* @return $this

*/function where($where=array())

return $this;

} /**

* limit $offset,$limit @xwlyun

* @param int $limit

* @param int $offset

* @return $this

*/function limit($limit=1,$offset=0)

/*** order by (e.g. array('field1'=>'asc',...)) @xwlyun

* @param array $orderby

* @return $this

*/function orderby($orderby=array())

}else

return $this;

} /**

* where in (e.g. array('field1'=>array('value1','value2',...))) @xwlyun

* @param array $wherein

* @return $this

*/function wherein($wherein=array())

} return $this;

} /**

* where not in (e.g. array('field1'=>array('value1','value2',...))) @xwlyun

* @param array $wherenotin

* @return $this

*/function wherenotin($wherenotin=array())

} return $this;

} /**

* 獲取總數 @xwlyun

* @return mixed

*/function count()

/*** select (e.g. array('field1','field2',...) or 'filed1,filed2,...') @xwlyun

* @param string $select

* @return mixed

*/function select($select="*")else

return $data;

}#endregion

}

在使用時,比如我們有一張shops表,new乙個model對其進行資料操作:

<?php

/** * class shop_model

* shop model @xwlyun

*/class shop_model extends m_model

/*** 驗證有效店鋪id @xwlyun

* @param $shop_id 店鋪id

* @return bool

*/function existsid($shop_id)

/*** 驗證使用者是否已經有開啟的店鋪 @xwlyun

* @param $user_id 使用者id

* @return bool

*/function checkusershop($user_id)

}

這裡的model繼承自封裝好的m_model,可以在ci框架的config/autoload.php中自動載入這個model:

$autoload['model'] = array('common/m_model');

CI對資料庫的常用操作

codeigniter ci 是乙個優秀 敏捷的php開源框架,尤其封裝了對資料庫的操作,很方便,以下是php ci常用的資料庫操作,作個記錄 查詢 query this db query select from table result 返回物件陣列 data query result resul...

CI對資料庫的常用操作

查詢 query this db query select from table result 返回物件陣列 data query result result array 返回資料 data query result array row 只返回一行物件陣列 data query row num ro...

CI對資料庫的常用操作

ci對資料庫的常用操作。codeigniter ci 是乙個優秀 敏捷的php開源框架,尤其封裝了對資料庫的操作,很方便,以下是php ci常用的資料庫操作,作個記錄 查詢 query this db query select from table result 返回物件陣列 data query ...