mysql FIND_IN_SET不使用带有整数值的php变量

时间:2016-05-14 19:44:53

标签: php mysql set

我正在努力解决这个问题。

我在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

1 个答案:

答案 0 :(得分:0)

您的var fk_item_types看起来像这样吗?

SET @fk_item_types = '10,20,30,40,50,60';

在请求中的变量名之前添加@。

另外,var_dump变量$item_type,以防万一。