IvanCI 发表于 2015-2-26 15:32:31

有一个好奇怪的问题

$ci = & get_instance();
$openid = 'objM_uKjQaFX7VeFSPefB7gd9b8Q';
$type = 'wx';

$query = "select contact_id from contact_history where openid = ? and type = ?";
$rs = $ci->db->query($query,array($openid,$type));





这个语句执行在错误日志里面提示

Query error: Unknown column 'objM_uKjQaFX7VeFSPefB7gd9b8Q' in 'where clause'



真的很奇怪, 如果是转移的话 都会加 " ' " ,
所以最后执行的语句应该是

select contact_id from contact_history where openid = 'objM_uKjQaFX7VeFSPefB7gd9b8Q' and type = 'wx'



这个语句直接执行没问题,
问题就出在 ci 的db 驱动那...完全找不到原因...
是因为 _ 转义问题还是什么

IvanCI 发表于 2015-2-26 15:48:47


      $rs = $ci->db->query($query,array("$openid",$type));


改成这样, 在openid加"" 就没有错误了...

- - 好奇怪...真的是因为转义原因么

gxcnvip 发表于 2015-2-26 16:37:00

字符串能不加引号?

IvanCI 发表于 2015-4-8 09:35:19

gxcnvip 发表于 2015-2-26 16:37
字符串能不加引号?

那是参数, 使用 php 的魔法 双引号,传参时候一般不会使用 " 来确定string的吧

gxcnvip 发表于 2015-5-26 15:50:42

你打印ci生成的sql不就知道了。。。
页: [1]
查看完整版本: 有一个好奇怪的问题