我有一个循环正在生成类似$sku = MAR-9-870-2-L
的字符串。我有一个数据库,该数据库通常是skusearchquery = MAR-9的“ skusearchquery”列表。我正在尝试搜索字符串$ sku中包含skusearchquery的数据库的所有行。
我知道下面的代码不起作用,因为MAR-9-870-20-L
与MAR-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/