【发布时间】:2019-01-25 23:08:36
【问题描述】:
我的数据库中有一个值 (int) 十进制。我的 codeigniter 应用程序中有几个常量链接到二进制 1 - 2 - 4 - 8 - ... 。
我希望显示所有具有特定二进制访问级别的用户。
public function query($level = 0)
{
$data = NULL;
$this->db->select('user_id, user_email, user_name, user_firstname, user_imageammount, user_auth');
$this->db->from('users');
$this->db->where('user_auth' & $level);
$query = $this->db->get();
if ( $query->num_rows() > 0 )
{
$data = $query->result_array();
}
return $data;
}
当我直接在我的 phpmyadmin 中运行查询时,我得到了我需要的结果。
SELECT `user_id`, `user_email`, `user_name`, `user_firstname`, `user_imageammount`, `user_auth` FROM `users` WHERE `user_auth` & 1
当我在 codeigniter 中运行它时出现错误。
严重性:警告 消息:遇到非数字值
如有任何帮助或建议,我们将不胜感激。
【问题讨论】:
-
这显然是错误的
$this->db->where('user_auth' & $level);
标签: php mysql codeigniter bitwise-operators