我有一个循环,正在生成像$sku = MAR-9-870-2-L
这样的字符串。我有一个数据库是" skusearchquery"通常看起来像skusearchquery = MAR-9。我正在尝试搜索数据库中包含字符串$ sku中包含skusearchquery的所有行。
我知道下面的代码不起作用,因为MAR-9-870-20-L
不像MAR-9-870
,因为MAR-9-870
不包含更长的字符串,所以我是' m想知道我怎么说:如果行值skusearchquery匹配字符串MAR-9-870-20-L
的一部分,那么选择它。
$search = mysqli_query($connect, "SELECT * FROM skusearch WHERE skusearchquery LIKE '%$sku%'");
答案 0 :(得分:0)
请尝试digraph stuff {
rankdir=RL;
c->b->a->b->c;
}
功能:
LOCATE()
...如果测试结果肯定,你应该采取tadman的建议并保护你的查询。
答案 1 :(得分:0)
正如您所说, searchquery 字段可以包含 sku 的较小部分,然后您可以尝试以下查询来获取这些结果
$search = mysqli_query($connect, "SELECT * FROM skusearch WHERE skusearchquery LIKE '%$sku%'" or '$sku' like concat('%',skusearchquery,'%');
同时确保按照@tadman的建议保护您的查询免受sql注入。