我正在努力解决这个问题。
我在mysql中有一个SET字段fk_item_types,其值为(10,20,30,40,50,60)。
我有一个php变量$ itemtype,用于过滤带有fk_item_types的记录。
我遇到的问题是当我使用变量作为过滤值时过滤器不起作用,但是当我写入值时它会起作用。
"WHERE FIND_IN_SET('30',fk_i_item_type)>0" works ok.
这不起作用:
"WHERE FIND_IN_SET('$item_type',fk_i_item_type)>0"
"WHERE FIND_IN_SET('{$item_type}',fk_i_item_type)>0"
"WHERE FIND_IN_SET('" . $item_type . "',fk_i_item_type)>0"
使用$ itype =(字符串)$ item_type也不起作用。
使用“LIKE'%%'”替代方案也不起作用。
感谢您的帮助。
B / R
答案 0 :(得分:0)
您的var fk_item_types看起来像这样吗?
SET @fk_item_types = '10,20,30,40,50,60';
在请求中的变量名之前添加@。
另外,var_dump变量$item_type
,以防万一。