数据库配置
mysql数据库
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '1234';
$db['default']['database'] = 'shop';
$db['default']['dbdriver'] = 'mysql';
通过一个二维数组记录配置信息的,这样可以配置多个数据库信息,通过$active_group = 'default';指定使用哪一个数据库配置
数据库表:
user:用户表
id:主键,自动增长
uname:用户名
password:用户密码
phone:用户手机
favorite:爱好表
id:主键,字段增长
fname:爱好名称
添加操作
$params=Array(
"uname"=>'test',
"password"=>'test',
"phone"=>'test'
);
$this->db->insert('user', $params);
删除操作
//删除user表中id等于1的数据
$this->db->where('id', '1');
$this->db->delete('user');
修改操作
//修改user表中主键id等于1的那条数据,由于参数中没有phone的信息,所以该条数据phone的信息是不变的
//即不完全更新
$params=Array(
"uname"=>'test',
"password"=>'test'
);
$this->db->where('id', '1');
$result=$this->db->update('product', $params);
查询操作
--单表查询
$this->db->select('u.id,u.uname');//此句不写或者写成$this->db->select('*')都表示查询所有字段
$this->db->from('user as u');
$this->db->where('id',2);
$result=$this->db->get()->result();
或者
$result=$this->db->select('u.id,u.uname')->from('user as u')->where('id',2)->get()->result();
或者
$params=Array(2);
$sql = 'select u.id,u.uname from user as u where u.id=?';
$result=$this->db->query($sql,$params)->result();
--连接查询
这里也可以使用单表查询中的$this->db->query($sql,$params)->result()这种查询方式,使用这种查询方式和正常sql语句查询相同,在这里就不做说明了
$this->db->select('u.id,u.uname,f.id as fid,f.fname');
$this->db->from('user as u');
$this->db->join('favorite f', 'f.user_id = u.id','left');
$result=$this->db->get()->result();
其中:$this->db->join()包含三个参数连接的表,连接条件,连接方式,连接方式是可选参数,其中有left,right,
outer,inner,left,outer,left outer,right outer
--子查询
$this->db->
select('u.id,u.uname,(select count(*) from favorite as f where f.user_id=u.id) as count');
$this->db->from('user as u');
$result=$this->db->get()->result();
//或者使用$this->db->query($sql,$params)->result()这种方式(见单表查询)