CI数据库语句查询

系统管理员 2022-05-14 03:44 297阅读 0赞

学习CI框架两天一直不知道怎么用sql语句,还是在看到一个博客后才差不多会使用了。

CI框架有关数据库的语句很多,但和原生语句还是有很大差异如:

  1. $this->db->select()
  2. $this->db->get()
  3. $this->db->get_where()
  4. $this->db->from()
  5. $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
这几个关键词要用四个语句表示分别为:

  1. $this->db->select('要选出来的列')
  2. $this->db->from(tableName)
  3. $this->db->where('条件1')
  4. $this->db->where('条件2')

以上四句组合才能完成想要的语句,接下来是query,CI里是用$this->db->get() query的。最后的get() 最好传给一个变量,$q=$this->db->get()

这样就结束了select * from tablename where name=$name and password=$password 语句,但还有一个获取返回值的问题。
还有个直接点的方法:

  1. $sql = "select * from tablename where name=$name and password=$password";
  2. $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 数据库的学习笔记。有什么不正确的请指教。

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CI数据库语句查询

    学习CI框架两天一直不知道怎么用sql语句,还是在看到一个博客后才差不多会使用了。 CI框架有关数据库的语句很多,但和原生语句还是有很大差异如: $this->db