|
本帖最后由 qi_ruo 于 2012-3-9 23:30 编辑
今天写程序使用$this->db->where()的时候出现了一些问题,代码如下:PHP复制代码 $title = $this->input->post('title'); // false
$query = $this->db->where('title', $title)->get('pages');
return $query->result(); 复制代码
当表单数据为空的时候,原以为返回值为空,程序却返回了pages表里的所有记录,使用$this->db->last_query();查看了下生成的查询:
- SELECT * FROM (`pages`) WHERE `title` = 0
复制代码
而不是我们想象中的
- SELECT * FROM (`pages`) WHERE `title` = ''
复制代码
使用$this->db->where('title', strval($title)); 就不会出现问题了。
写查询的时候一定不要忘记使用strval(), intval(), floatval()这 三个函数,以前在书上看过,写程序的时候却想不起来,记下来加深下印象。。
|
|