ThinkPHP中M方法生成语句where条件自动多加了Id
遇到了诡异的问题,服务器端从凌晨突然发生:ThinkPHP中M方法生成语句where条件自动多加了Id主要语句如下:$where=array();$where['stat...
遇到了诡异的问题,服务器端从凌晨突然发生:
ThinkPHP中M方法生成语句where条件自动多加了Id
主要语句如下:
$where = array();
$where['status'] = 1;
M('speed_log')->where($where)->limit(1)->getField('user');
$sql = M('speed_log')->getLastSql();
mylog('sql = ' . $sql);
这样得到的SQL居然会有一个自增主键id的条件:
SELECT `user` FROM `qg_speed_log` WHERE `id` = 16383 AND `status` = 1 LIMIT 1
请教可能原因是什么? 展开
ThinkPHP中M方法生成语句where条件自动多加了Id
主要语句如下:
$where = array();
$where['status'] = 1;
M('speed_log')->where($where)->limit(1)->getField('user');
$sql = M('speed_log')->getLastSql();
mylog('sql = ' . $sql);
这样得到的SQL居然会有一个自增主键id的条件:
SELECT `user` FROM `qg_speed_log` WHERE `id` = 16383 AND `status` = 1 LIMIT 1
请教可能原因是什么? 展开
3个回答
展开全部
挺多ThinkPHP访问数据库的问题是缓存引起的。清掉Runtime/data/_fields试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-06-12
展开全部
$sql = M('speed_log')->where($where)->limit(1)->fetchSql(); // 看看生成的 sql 语句是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主 应该是ID=array(1,2,3,4...) where id=ID就行了 在Thinkphp中多个都是用数组表示的。
追问
您好,问题是不需要添加这个id的条件它却自动加上了,导致逻辑错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询