php - 如何在 codeigniter 查询中使用 FIND_IN_SET?

标签 php mysql codeigniter

$array = array('classesID' => 6);
$this->db->select()->from($this->_table_name)->where($array)->order_by($this->_order_by);
$query = $this->db->get();
return $query->result();

我需要获取classesID为6的行。有些行包含6,5,4。 所以我需要使用FIND_IN_SET查询来检索classesID为6的位置。

请指导我

谢谢

最佳答案

'Action history table with studentsIds as comma separated values

我需要获取学生 ID 为“4488”且消息 ID 为“1418”的行

$id = 1418;
$student_id = 4488;
    this->db->select('id, action_status, updated_on, student_ids');
    $this->db->where('message_id', $id);
    $this->db->where('find_in_set("'.$student_id.'", student_ids) <> 0');
    $this->db->from('actions_history');
    $query = $this->db->get();

它将返回类似的查询

SELECT id, action_status, updated_on, student_ids FROM actions_history  WHERE message_id = '1418' AND find_in_set("4488", student_ids) <>0

关于php - 如何在 codeigniter 查询中使用 FIND_IN_SET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46509723/

相关文章:

php - JSON 到 HTML 表

php - 当任何值不准确时,我们如何停止 HTML 表单提交按钮

php - 从 mysql 打印的每一行都应该是彩色的

php - 确定 SQL UPDATE 是否更改了列的值

php - MySQL 查询中使用的所有表的列表

javascript - AJAX 从保管箱到另一个保管箱更改值

php - 通过 HTTPS 访问网站正在断开数据库连接

php - 如何使用 php strftime 添加一天

php - 如何将数据转储到 View 中?

Codeigniter $this->db->affected_rows() 总是返回 1