php - 从一个单元格中有多个 id 的 mysql 表中获取
问题描述
我有一张表格发票:
id|orders|user|status|
1 |1,2,5 |1 |1 |
2 |75 |2 |0 |
3 |31,4 |5 |1 |
我对数据库的请求应该是什么,以便我通过订单列中的订单号接收发票状态。
在我看来,在这里使用 LIKE 的方式不合适,因为它会选择不正确的值。
$sql = "SELECT status FROM invoices WHERE orders LIKE '%".$order_id."%'";
解决方案
你想要的是
$sql = "SELECT status
FROM invoices
WHERE CONCAT(',', orders, ',') LIKE '%,".$order_id.",%'";