CI框架教程6——操作数据库表的优化写法

        用codeigniter也有一段时间了,一直没有做什么总结。现在总结一些Codeigniter操作数据库表的优化写法,虽说不全,但是也确实可以帮助那些刚刚上手CI的同学。

链接数据库

//手动连接数据库
$this->load->database();
//连接多数据库
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE); 

数据库查询

//参数绑定形式
$sql = "SELECT * FROM table_name WHERE id = ? AND status = ? AND author = ?"; 
$this->db->query($sql, array(3, 1, 'Bob'));

//多结果标准查询
$query = $this->db->query($sql); //自定义
//便捷形式,相当于:SELECT * FROM tablename
$query = $this->db->get('tablename'); 
// 相当于: SELECT * FROM tablename LIMIT 20, 10
$query = $this->db->get('tablename', 10, 20); 


 //对象形式
$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);
 //刚插入的id
$this->db->insert_id();
//影响的行数(update,insert)
$this->db->affected_rows();

数据库更新

$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); 

// 相当于sql语句:
// "DELETE FROM tablename WHERE name = '$name' AND title = "$title""

$this->db->truncate('tablename'); //清空表
//  相当于sql语句: TRUNCATE tablename

        除此之外,CI框架还有很多数据库组合操作,这些可具体查看CI框架手册。


猜你喜欢

转载自blog.csdn.net/zhihua_w/article/details/79276839
今日推荐