本文主要是介绍SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘user_id‘ in ‘where clause‘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_id' in 'where clause'
- 原因有很多,分享下遇到的其中一种
- 报错
- 报错原因(~写代码一定要细心啊~)
- 错误代码
- 正确代码
原因有很多,分享下遇到的其中一种
报错
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_id' in 'where clause'
报错原因(写代码一定要细心啊)
在foreach 中的数组没有重新定义
$where作为where中的查询条件,在foreach中使用过一次之后,又增加了新的元素,当再一次foreach循环时,新增的元素就会在第一次使用时报错!
错误代码
foreach{' ' '' ' 'if($end > $start){$where['year_month'] = substr($one[1],0,7);}else{$where['year_month'] = substr($value['date'],0,7);}$bool = model('Workday')->where($where)->find();//已经用了$whereif($bool){return json('error','请先设置工作日历~');}$where['user_id'] = $uid;// 问题所在,又给$where增加了新的元素$lock = model('AttendanceLock')->where($where)->find();if($lock){continue;}' ' ' ' ' '
}
正确代码
foreach{' ' '' ' '$where = array(); //这里给$where重新定义一下就行了if($end > $start){$where['year_month'] = substr($one[1],0,7);}else{$where['year_month'] = substr($value['date'],0,7);}$bool = model('Workday')->where($where)->find();//已经用了$whereif($bool){return json('error','请先设置工作日历~');}$where['user_id'] = $uid;// 问题所在,又给$where增加了新的元素$lock = model('AttendanceLock')->where($where)->find();if($lock){continue;}' ' ' ' ' '
}
这篇关于SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘user_id‘ in ‘where clause‘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!