CodeIgniter-CI之MySQL
首先我们需要进行一下配置,这里需要修改的文件为application目录下的config目录下的database.php文件,我们修改相应的配置项,比如这里是我的配置情况:
通常我们在操作数据库之前,首先需要进行数据库的加载,通常代码内容如下:
$this->load->database();
在连接之后,我们可以使用$this->db来获取当前的数据库对象,然后我们就可以对它进行数据库的操作了。
PS:对于查询操作,一般我们得到的都是一个结果集,我们还需要调用一下result()这个方法来或许结果集。
来做一次数据的查询,要获取user表的数据,创建一个Db控制器,然后写一个demo方法,整个文件的代码如下:
我们就可以看到它数据取出后的结果了
其他框架转过来的朋友们会不习惯每次查询后都需要写一个result()来获取结果集,但是不得不承认的是这种方式也有不少优点的,而且它本身也有比较丰富的方法可供我们调用:
(1)num_rows()用来获取总的行数。
(2)list_fields()用来获取所有的字段数。
(3)result_array()用数组的方式来获取数据。
(4)result_object()用对象的方式来获取数据。
(5)row()用来获取一行数据。
(6)next_row()用来获取下一行数据。
(7)first_row()用来获取第一行数据。
(8)previous_row()用来获取上一行数据。
在Db控制器中新建一个result()方法,然后书写如下代码:
在上面的代码中,直接执行了一条SQL语句,然后我们用一个循环的方式来输出每条记录的内容,需要说明的是,这里的每条记录默认返回的格式是对象格式。然后我们就会看到具体的输出如下:
增删改查
首先是增加数据,我们可以使用insert()方法来插入数据,它的第一个参数是表名,第二个参数是一个数组。
在上面,我们向role表中插入了一条数据
我们也可以进行批量插入,这个时候我们可以使用insert_batch()方法,它的第一个参数也是一个表名,第二个参数可以是一个多维数组。代码范例如下:
这里表示成功插入的行数
对于查询数据来说,则有比较多的方法,下面是几个常用的方法:
(1)from()表示选择的表
(2)select()表示要选择哪些字段,可以用数组表示,也可以用逗号分隔多个字段的字符串,如果为空则表示选择所有字段,相当于填写了"*"
(3)distinct()表示去除重复的记录
(4)limit()表示要获取多少条记录
(5)offset()表示选择的偏移量
(6)where()表示where条件,一般第一个参数是字段名,第二个参数是值,也可以把第一个参数设置为整个条件
(7)group_by()表示按哪些字段进行分组
(8)order_by()表示按哪些字段进行排序,第一个参数为字段名,第二个参数用'asc'表示升序,用'desc'表示降序
(9)join()表示进行表的连接,第一个参数为连接的表名,第二个参数为连接的条件
(10)get()表示进行获取操作,在它之后通常跟result()来检索出具体的结果
其实具体的方法还有很多,这里只是列举了比较常用的几个
不过对于查询来说,它所涉及的方法还是有点太多了,很多功能我们还是需要去查看手册。
对于数据的删除,我们可以使用delete()来执行,我们可以用from()来选择表,用where()来表示条件,用delete()来表示最后的删除。
对于数据的修改,我们可以使用update()来进行修改,我们可以使用from()来选择要更新的表,我们可以用where来表示更新的条件,我们可以用set()表示要更新的数据。