本来不想发这样的文章,因为这个问题导致我出错了好几次,隔一段时间就错一次。
pdo 的占位符会自动的加上引号,所以在写的时候占位符就无需加上引号。不知为何,我在写 like 操作的时候习惯加上引号,导致查询不出结果,而其他的操作不会犯这种错误也许是因为很少手动去写,底层都封装好了。
like 操作的通配符不能出现在占位符处,必须在绑定值的时候传递。如:
$rs = q('order')->select('distinct nickname', "nickname like ? limit 10", array('%'.$k.'%'));