用codeigniter也有一段时间了,一直没有做什么总结。现在总结一些Codeigniter操作数据库表的优化写法,虽说不全,但是也确实可以帮助那些刚刚上手CI的同学。
链接数据库
$this->load->database();//手动连接数据库<BR>//连接多数据库<BR>$DB1 = $this->load->database('group_one', TRUE);<BR>$DB2 = $this->load->database('group_two', TRUE); <BR>
查询
//参数绑定形式<BR>$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; <BR>$this->db->query($sql, array(3, 'live', 'Rick'));<br><br>//多结果标准查询<BR>$query = $this->db->query($sql); //自定义<BR>$query = $this->db->get('tablename'); //便捷形式,相当于:SELECT * FROM tablename<BR>$query = $this->db->get('tablename', 10, 20); // 相当于: SELECT * FROM tablename LIMIT 20, 10<br><br>$query->result() //对象形式<BR>$query->result_array() //数组形式<BR>/*<BR>foreach ($query->result() as $row)<BR>{<BR> echo $row->title;<BR> echo $row->name;<BR> echo $row->email;<BR>}<BR>*/<BR>$query->num_rows() //总条数<BR>$query->num_fields() //字<strong style="color:transparent">本文来源gaodai#ma#com搞@@代~&码*网/</strong><strong>搞gaodaima代码</strong>段数<br><br>//单结果标准查询<BR>$row = $query->row(); //对象形式<BR>$row = $query->row_array(); //数组形式<BR>/*<BR>$row = $query->row_array();<BR>echo $row['name'];<BR>*/
插入
$data = array(<BR> 'title' => $title,<BR> 'name' => $name<BR> );<BR>$this->db->insert('tablename', $data); //便捷插入<BR>$this->db->insert_string('tablename', $data); //便捷插入<br><br>$this->db->insert_id() //刚插入的id<BR>$this->db->affected_rows() //影响的行数(update,insert)<BR>
更新
$data = array(<BR> 'name' => $name, <BR> 'email' => $email<BR> );<BR>$where = "id = 1"; <BR>$this->db->update('tablename', $data); <BR>$this->db->update_string('tablename', $data, $where);
删除
$array = array(<BR> 'name' => $name, <BR> 'title' => $title<BR> );<BR>$this->db->delete('tablename', $array); <br><br>// Produces:<BR>// "DELETE FROM tablename WHERE name = '$name' AND title = "$title""<br><br>$this->db->truncate('tablename'); //清空表<BR>// Produce: TRUNCATE tablename<br><br> <br><br>-----------------------------------------------------<BR>(where)<BR>-------<br><br>$array = array(<BR> 'name' => $name, <BR> 'title' => $title<BR> );<BR>$this->db->where($array); <BR>// Produces: "WHERE name = '$name' AND title = "$title"" <BR>-----------------------------------------------------<BR>$this->db->count_all('tablename'); //表中记录总行数<BR>-----------------------------------------------------<BR>$query->free_result() //释放资源