1. 程式人生 > >雷林鵬分享:CodeIgniter 數據庫操作

雷林鵬分享:CodeIgniter 數據庫操作

auth ring 數據庫操作 分享 修改 mixed ram 解釋 function

  在平時項目開發過程中,除了處理那些繁瑣的邏輯過程外,還有一個重要的任務就是對數據庫的操作處理。這裏總結下自己平時使用CI過程中使用的如何對數據庫進行操作處理。

  在CI框架中,我們一般會把對數據庫的操作放在models中,下面以文章操作類article_model.php為例:

  1、數據庫鏈接

  class Article_model extends CI_Model

  {

  private $admin = null;

  public function __construct()

  {

  $this->admin->load->database(‘admin‘, true);

  }

  }

  解釋一下,這裏使用一個 $admin 屬性的目的是為了多數據庫操作的情況下使用,如果你的項目中只有一個數據庫那麽你可以這樣

  $this->load->database();

  2、查詢操作

  對於查詢操作自己不是很喜歡使用CI中那種鏈式操作方式,還是喜歡寫些原生的SQL語句。這裏使用的是封裝查詢:

  $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";

  $this->admin->query($sql, array(3, ‘live‘, ‘Rick‘));

  註意:這裏使用query時我們不是用

  $this->db->query($sql, array(3, ‘live‘, ‘Rick‘));

  而是用

  $this->admin->query($sql, array(3, ‘live‘, ‘Rick‘));

  這就是剛才說的多數據庫的區別。

  還有,使用封裝查詢的第二個好處是所有的值都會被自動轉義,形成了較為安全的查詢語句。你無需手動地去轉義這些數據;控制器將會自動為你進行。

  完整的查詢代碼:

  /**

  * @param int $id

  * @param string $status

  * @param string $author

  * @return mixed

  */

  public function article($id, $status, $author)

  {

  $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";

  $query = $this->admin->query($sql, array($id, $status, $author));

  return $query->result_array(); //結果返回數組

  return $query->result(); //結果返回對象

  }

  3、插入操作

  插入操作相對查詢來說就比較簡單了,這裏不過多介紹,直接上代碼:

  /**

  * @param array $data 需插入數據,註意數組key與表字段名對應

  * @return bool

  */

  public function add($data)

  {

  return $this->admin->insert(‘tableName‘, $data);

  }

  4、更新操作

  /**

  * @param int $id 條件

  * @param array $data 需修改的數據,註意數組key與表字段名對應

  * @return bool

  */

  public function update($id, $data)

  {

  $this->admin->where(‘id‘, $id); //更新條件,根據實際情況自行修改

  return $this->admin->update(‘tableName‘, $data);

  }

  5、刪除操作

  /**

  * @param int $id 刪除條件

  * @return bool

  */

  public function delete($id)

  {

  $this->admin->where(‘id‘, $id); //刪除條件,根據實際情況自行修改

  return $this->admin->delete(‘tableName‘);

  }

  上面就是CI中對數據庫的基本操作方法,對於其他的,如:查詢總數、查詢緩存、轉義查詢、事務等操作,可以參考CI手冊。(編輯:雷林鵬 來源:網絡 侵刪)

雷林鵬分享:CodeIgniter 數據庫操作