首页 > 解决方案 > 从一个单元格中有多个 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."%'";

标签: phpmysql

解决方案


你想要的是

 $sql = "SELECT status 
         FROM invoices 
         WHERE CONCAT(',', orders, ',') LIKE '%,".$order_id.",%'";

推荐阅读