我的数据库中有一列标记为providers的列。此列可以有多个值,即(1,2,3,4,5)或(14,2,9,87)。我有一个数组,它也填充了相似的值,例如(1,9,7,3)等等。
我试图查询我的数据库并从表中返回结果,其中变量数组中的任意值与列中由逗号分隔的值相匹配。
这就是我拥有的。
$variable = "1,9,3,4"; $sql = "SELECT id, provider FROM table_name WHERE FIND_IN_SET(provider, '$variable')";
然而,这是不起作用的。如果数据库中的列有多个值,则不返回任何值。如果该列只有一个值,则返回该值。
发布于 2018-06-25 04:30:21
我不确定,但LOCATE应该能解决你的问题。示例:
$sql = "SELECT id, provider FROM table_name WHERE LOCATE('$variable', provider) = 1;";
但如果is的顺序不同,则不起作用。
https://stackoverflow.com/questions/51013600
复制相似问题