CI数据库语句查询
学习CI框架两天一直不知道怎么用sql语句,还是在看到一个博客后才差不多会使用了。
CI框架有关数据库的语句很多,但和原生语句还是有很大差异如:
$this->db->select()
$this->db->get()
$this->db->get_where()
$this->db->from()
$this->db->where()
CI中文文档里面取数据的例子都是用的$this->db->query("select * from tablename")
然后获取数据,但使用时完全就不知道怎么使用。baidu了很多文章都不能完全说明。楼主想要查询的sql语句如:select * from tablename where name=$name and password=$password
下面直接说成果。
上面语句用几个关键词:select from where and
这几个关键词要用四个语句表示分别为:
$this->db->select('要选出来的列')
$this->db->from(tableName)
$this->db->where('条件1')
$this->db->where('条件2')
以上四句组合才能完成想要的语句,接下来是query,CI里是用$this->db->get()
query的。最后的get() 最好传给一个变量,$q=$this->db->get()
这样就结束了select * from tablename where name=$name and password=$password
语句,但还有一个获取返回值的问题。
还有个直接点的方法:
$sql = "select * from tablename where name=$name and password=$password";
$q = $this->db->query($sql);
这个就和PHP差不多,感觉还是这个简单,粗暴。
CI我目前知道的获取sql 返回的方法有三个:$q->row_array() $q->result() $q->result_array();
1.$q->row_array()
只能返回第一条内容,以数组形式,用$q->row_array()
[‘列名’]取出。
2.$q->result()
以一个(结构或者叫类)数组的形式返回内容,可以看成一个一维数组,可以用foreach($q->result() as $key => $value)
获取各个(结构或者叫类)。每个$value表示一个sql语句的返回行。最后以$value->'列名'
取出单个数值。
3.$q->result_array()
,我感觉是最好用的一个。直接以二维数组形式返回各个值。以第二个为基础可以很容易得到获取各各值的方法。foreach($q->result_array() as $key => $value) { $value['列名']}
就能分别获取单个值了。
以是就是楼主关于CI 数据库的学习笔记。有什么不正确的请指教。
还没有评论,来说两句吧...