我在 MySQL 数据库中保存了一些以逗号分隔的记录。
我有下表和记录:
tbl_checks
id | items
----+------
1 | 2,5
2 | 2,3
所以我想获取列 items
中逗号分隔值之一为 5 的数据。
我试过:
$sql = "SELECT * FROM tbl_checks WHERE items="; //unable todo at here
这样我就可以:
$results = $this->db->query($sql)->result() //codeigniter script
我也试过
$sql = "SELECT * FROM tbl_checks WHERE items=".in_array(5)//this fails
最佳答案
如果您想查询此字段,您当前的方法不是很好。通常,您会使用规范化并将该数据拆分到多个表中,以便更好地查询。
如果您坚持使用这种方法,您可以使用 LIKE
和 CONCAT
。
$id = '2';
$sql = "SELECT * FROM tbl_checks WHERE CONCAT(',', items, ',') LIKE '%,$id,%'";
关于PHP使用SQL语句获取数组中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47788798/