CodeIgniter的中的一些基本数据库操作的demo

来源:互联网 发布:ubuntu14.04安装mysql 编辑:程序博客网 时间:2024/04/25 18:50
<?phpclass User extends CI_Controller{public function index(){$this->load->view('user_index');}//增加public function add(){$this->load->database();$sql="insert into user(name,pass)values('haha',md5('123'))";$bool=$this->db->query($sql);if($bool) {echo "影响行数".$this->db->affected_rows();echo "自增id".$this->db->insert_id();}}    public  function update(){//数据库已经在配置文件中自动加载无需$this->load->database();//如果有多个问号的时候需要传入一个索引数组 //$data[0]='hehe'; //$data[1]='123'; // $data= array('name' => 'hehe', 'pass'=>'123'); $sql="insert into user(name,pass)values(?,md5(?))"; $bool=$this->db->query($sql,$data); if($bool) {echo "影响行数".$this->db->affected_rows();echo "自增id".$this->db->insert_id();}}//AR模型public function selectdb(){$selectdb=$this->db->get('user');foreach ($selectdb->result() as $item) {echo $item->id."+".$item->name."\n";}//条件查询  连贯操作$res=$this->db->select('id,name,pass')         ->from('user')         ->where('id >=',3)         ->limit(3,2)   //跳过2条取三条         ->order_by('id desc')         ->get(); echo "<pre>";        var_dump($res->result());echo "</pre>";//显示最近一条sql语句echo $this->db->last_query();//关于where的查询        //条件查询情况1$re=$this->db->where('name','hehe')->get('user');var_dump($re->result());echo "<br>";//条件查询情况2$re2=$this->db->where('name !=','hehe')->get('user');var_dump($re2->result());echo "<br>";//条件查询情况3$re3=$this->db->where(array('name'=>'hehe'))->get('user');var_dump($re3->result());echo "<br>";//条件查询情况4$re4=$this->db->where(array('name'=>'hehe','id >'=>3))->get('user');var_dump($re4->result());echo "<br>";/****注意  对于一些比较复杂的SQL查询语句 最好使用**  $this->db->query($sql,$data); 使用问号绑定参数*****/}    //更新public function up(){$data= array('name' => 'he', 'pass'=>md5('1234'));$bool=$this->db->update('user',$data,array('id'=>3));if($bool) {echo "影响行数".$this->db->affected_rows();echo "自增id".$this->db->insert_id();}}    //增加public function insertdb(){$data= array('name' => 'heha', 'pass'=>md5('1234'));$bool=$this->db->insert('user',$data);if ($bool) {echo "影响行数".$this->db->affected_rows();echo "自增id".$this->db->insert_id();}}    //删除public function del(){$bool=$this->db->delete('user',array('id'=>6));if ($bool) {echo "影响行数".$this->db->affected_rows();}}}?>


/* ================================== 查询 $query = $this->db_query("SELECT * FROM table"); ==================================*/ //result() 返回对象数组$data = $query->result(); //result_array() 返回数据 $data = $query->result_array(); //row() 只返回一行对象数组$data = $query->row(); //num_rows() 返回查询结果行数$data = $query->num_rows(); //num_fields() 返回查询请求的字段个数$data = $query->num_fields(); //row_array() 只返回一行数组$data = $query->row_array(); //free_result() 释放当前查询所占用的内存并删除关联资源标识$data = $query->free_result(); /* ================================== 插入操作 ==================================*/ //上次插入操作生成的IDecho $this->db->insert_id(); //写入和更新操作被影响的行数echo $this->db->affected_rows(); //返回指定表的总行数echo $this->db->count_all('table_name'); //输出当前的数据库版本号echo $this->db->version(); //输出当前的数据库平台echo $this->db->platform(); //返回最后运行的查询语句echo $this->db->last_query(); //插入数据,被插入的数据会被自动转换和过滤,例如://$data = array('name' => $name, 'email' => $email, 'url' => $url);$this->db->insert_string('table_name', $data); /* ================================== 更新操作 ==================================*/ //更新数据,被更新的数据会被自动转换和过滤,例如://$data = array('name' => $name, 'email' => $email, 'url' => $url);//$where = "author_id = 1 AND status = 'active'";$this->db->update_string('table_name', $data, $where); /* ================================== 选择数据 ==================================*/ //获取表的全部数据$this->db->get('table_name'); //第二个参数为输出条数,第三个参数为开始位置$this->db->get('table_name', 10, 20); //获取数据,第一个参数为表名,第二个为获取条件,第三个为条数$this->db->get_where('table_name', array('id'=>$id), $offset); //select方式获取数据$this->db->select('title, content, date');$data = $this->db->get('table_name'); //获取字段的最大值,第二个参数为别名,相当于max(age) AS nianling$this->db->select_max('age');$this->db->select_max('age', 'nianling'); //获取字段的最小值$this->db->select_min('age');$this->db->select_min('age', 'nianling'); //获取字段的和$this->db->select_sum('age');$this->db->select_sum('age', 'nianling'); //自定义from表$this->db->select('title', content, date');$this->db->from('table_name'); //查询条件 WHERE name = 'Joe' AND title = 'boss' AND status = 'active'$this->db->where('name', $name);$this->db->where('title', $title);$this->db->where('status', $status); //范围查询$this->db->where_in('item1', 'item2');$this->db->where_not_in('item1', 'item2'); //匹配,第三个参数为匹配模式 title LIKE '%match%'$this->db->like('title', 'match', 'before/after/both');$this->db->not_like(); //分组 GROUP BY title, date$this->db->group_by('title', 'date'); //限制条数$this->db->limit(0, 20);


@author www.lelexie.com  本文来自:恋人SEO  www.loverseo.com