我有一个循环正在生成类似$sku = MAR-9-870-2-L的字符串。我有一个数据库,该数据库通常是skusearchquery = MAR-9的“ skusearchquery”列表。我正在尝试搜索字符串$ sku中包含skusearchquery的数据库的所有行。

我知道下面的代码不起作用,因为MAR-9-870-20-LMAR-9-870不一样,因为MAR-9-870不包含更长的字符串,所以我想知道如何说:如果行值skusearchquery匹配部分字符串MAR-9-870-20-L,然后选择它。

$search = mysqli_query($connect, "SELECT * FROM skusearch WHERE skusearchquery LIKE '%$sku%'");

最佳答案

请尝试LOCATE()函数:

$search=mysqli_query($connect,"SELECT * FROM skusearch WHERE LOCATE(`skusearchquery`,'$sku'");


...如果此测试成功,则应听取塔德曼的建议并保护您的查询。

关于php - 如何从数据库中选择所有值都属于某个字符串的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43929061/

10-10 00:53