Codeigniter操作データベーステーブルの最適化書き方のまとめ


codeigniterを使ってもしばらく時間がありました。何もまとめていません。今いくつかのCodeigniter操作データベース表の最適化の書き方をまとめます。全体ではないですが、確かにCIを始めたばかりの学生を助けます。
リンクデータベース
$this->load->database();//       
//
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
クエリー
//      
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));

//
$query = $this->db->query($sql); //
$query = $this->db->get('tablename'); // , :SELECT * FROM tablename
$query = $this->db->get('tablename', 10, 20); // : SELECT * FROM tablename LIMIT 20, 10

$query->result() //
$query->result_array() //
/*
foreach ($query->result() as $row)
{
    echo $row->title;
    echo $row->name;
    echo $row->email;
}
*/
$query->num_rows() //
$query->num_fields() //

//
$row = $query->row(); //
$row = $query->row_array(); //
/*
$row = $query->row_array();
echo $row['name'];
*/
 
挿入
$data = array(
                'title' => $title,
                'name' => $name
                );
$this->db->insert('tablename', $data); //
$this->db->insert_string('tablename', $data);  //

$this->db->insert_id() // id
$this->db->affected_rows() // (update,insert)
更新
$data = array(
                'name' => $name,
                'email' => $email
                );
$where = "id = 1";
$this->db->update('tablename', $data);
$this->db->update_string('tablename', $data, $where);
削除
$array = array(
                'name' => $name,
                'title' => $title
                );
$this->db->delete('tablename', $array);

// Produces:
// "DELETE FROM tablename WHERE name = '$name' AND title = "$title""

$this->db->truncate('tablename'); //
// Produce: TRUNCATE tablename

 

-----------------------------------------------------
(where)
-------

$array = array(
                'name' => $name,
                'title' => $title
                );
$this->db->where($array);
// Produces: "WHERE name = '$name' AND title = "$title""
-----------------------------------------------------
$this->db->count_all('tablename'); //
-----------------------------------------------------
$query->free_result() //