关于 CI 框架数据库操作函数 this->db->where() 的问题
在使用CI 框架数据库操作函数 $this->db->where 出现一个不知道怎么解决的bug如:
$this->db->where('key',$key);
若是$key的字符串包含 and or 等sql 关键词就会查询不语句,怎么解决:Q
灰常感谢:P $key里没必要用and,or的。$this->db->where()可以调用多次,设置多个条件。多看看文档把 要么就直接写成字符串语句,要么使用键值对的形式,都是可以的,你把你拼装好的SQL语句打印出来就知道该怎么做了 mding 发表于 2015-12-15 21:02
$key里没必要用and,or的。$this->db->where()可以调用多次,设置多个条件。多看看文档把 ...
sorry,我想表达的不是这个意思,
比如说我要写写一条这样的sql语句
select * from test where key = 'some and some';
那么我是不是要写
$key = 'some and some';
$this->db->where('key',$key);
$this->db->get('test');
这样我在ci3.0 是不对的,我用$this->db->last_query() 打印出来的语句是这样的
select * from test where key = 'some andsome' 注:some and(这个位置会多出一个空格 )some,
这样我就查询不到我想要结果
我尝试了很多次,也都没有解决哎! Michael锐生 发表于 2015-12-16 23:10
要么就直接写成字符串语句,要么使用键值对的形式,都是可以的,你把你拼装好的SQL语句打印出来就知道该怎 ...
sorry,我想表达的不是这个意思,
比如说我要写写一条这样的sql语句
select * from test where key = 'some and some';
那么我是不是要写
$key = 'some and some';
$this->db->where('key',$key);
$this->db->get('test');
这样我在ci3.0 是不对的,我用$this->db->last_query() 打印出来的语句是这样的
select * from test where key = 'some andsome' 注:some and(这个位置会多出一个空格 )some,
这样我就查询不到我想要结果
我尝试了很多次,也都没有解决哎! Michael锐生 发表于 2015-12-16 23:10
要么就直接写成字符串语句,要么使用键值对的形式,都是可以的,你把你拼装好的SQL语句打印出来就知道该怎 ...
要么就直接写成字符串语句,直接写sql query 是可以的呢,可是很多地方都这样写的代码,改的就太多了:'( Blue_Sea 发表于 2015-12-17 11:37
要么就直接写成字符串语句,直接写sql query 是可以的呢,可是很多地方都这样写的代码,改的就太多了 ...
你误会我的意思了,我是说where里面的条件写成SQL语句,例如where('(a = 1 or b = 2 and c = 3)') $this->db->where(array('key1'=>$key1,'key2'=>$key2));
页:
[1]