codeigniter (ci)操作数据库

1.         数据库

/*数据insert*/

                   /*$data = array(

                'accountid' => '1',

                'adminid' => '2',

                'fee' => '50',

                'state' => '1',

                'createtime' => time(),

                'lastupdatetime' => time()

 

        );

        $this->db->insert('repay_his', $data);

       

        $this->db->set('url', 'www.mynewclinet.com');

                   $this->db->set('name', 'BigCo Inc');

                   $this->db->set('clientid', '33');

                   $this->db->set('type', 'dynamic');

                   $this->db->insert('repay_his');

                   $new_id_number = $this->db->insert_id();//获取自增id数据修改

/*修改*/

       /*        $data = array(

                'accountid' => '1',

                'adminid' => '2',

                'fee' => '100',

                'state' => '1',

                'createtime' => time(),

                'lastupdatetime' => time()

 

        );*/

        //$this->db->where('id', '1');

                   //$this->db->update('repay_his', $data);

/*数据读取*/

       /*$query = $this->db->get('sessions_data');

             foreach ($query->result() as $row)

             {

              // print_r($row);

             }

                   $query = $this->db->query("SELECT * FROM c_repay_his WHERE id  =1");

                   $this->db->select('url,name,clientid,people.surname AS client');

                   $this->db->where('clientid', '3');

                   $this->db->limit(5);

                   $this->db->from('sites');

                   $this->db->join('people', 'sites.clientid = people.id');

                   $this->db->orderby("name", "desc");

                   $query = $this->db->get();

                   //free_result() 释放当前查询所占用的内存并删除关联资源标识

                   $data = $query->free_result();

                   print_r($query->result_array());

                   */

                   /*数据读取*/

                   /*数据删除*/

                            //$this->db->where('id', '20');

                            //$this->db->delete('repay_his');

                            //echo $this->db->affected_rows();//验证是否执行成功

                   /*数据删除*/

                   /*$this->load->library('calendar');

                   /*分页类*/

                   $this->load->library('pagination');

                   $config['base_url'] = 'http://example.com/index.php/test/page/';

                   $config['total_rows'] = 200;

                   $config['per_page'] = 20;

                   $this->pagination->initialize($config);

                   echo $this->pagination->create_links();

/*分页类*/

                   $this->load->view('test/index');

                   //$this->output->cache(20);输出缓存

数据查询

/*

                                     查询

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

                             

                            /*

                             ==================================

                             插入操作

                             ==================================

                            */

                             

                            //上次插入操作生成的ID

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

        

2.      Benchmarking类库能够计算出任意两个被标记点之间的代码执行时间。通过这个数值,可以评估程序员编写的程序的效率。

$this->benchmark->mark('dog');
// Some code happens here
$this->benchmark->mark('cat');
// More code happens here
$this->benchmark->mark('bird');
echo $this->benchmark->elapsed_time('dog', 'cat');
echo $this->benchmark->elapsed_time('cat', 'bird');
echo $this->benchmark->elapsed_time('dog', 'bird');

3.页面执行时间,占用内存,header信息,数据库执行时间显示及执行的语句

$this->output->enable_profiler(TRUE);

4.form验证

               this->load->library('form_validation');

                   //$this->load->model('entries_model');调用模型

                   $this->form_validation->set_rules('title', 'Title', 'required');

                $this->form_validation->set_rules('content', 'Content', 'required');

                //$this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');

                //$this->form_validation->set_rules('email', 'Email', 'required|valid_emails');

                   if ($this->form_validation->run() == FALSE)

                   {

                      $this->load->view('test/form');

                   }

你可能感兴趣的:(codeigniter (ci)操作数据库)