首页 > 解决方案 > 检查类别是否存在于具有 csv 值格式的 MYSQLI 表列中

问题描述

我想获得所有具有我想要的类别的产品。问题是,在 products 表中,其中的“category”列具有 csv 格式的值(例如,“Edibles,Beverages,Topicals”)。我将如何检查我想要的类别是否存在于类别列中?

这是我到目前为止所拥有的

$category = $_POST["category"];
$query = "SELECT * FROM products WHERE category = '$category' ORDER BY rand()";
$result = mysqli_query($conn, $query);
$productsArray = mysqli_fetch_all($result, MYSQLI_ASSOC);

标签: phpmysqli

解决方案


您可以使用 LIKE 语句,以防并非所有类别都存储在一行中。

$query = "SELECT * FROM products WHERE category LIKE ('%".$category."%') ORDER BY rand()";

推荐阅读