如果不支持FIND_IN_SET,那么替代函数是什么?

时间:2013-10-29 05:46:14

标签: php mysql

如果mysql(5.0.96)中不支持FIND_IN_SET,那么替代函数是什么?出于某种原因,我无法升级我的mysql版本。

表格

manufacturer_id | category_id
    15               63
    16               63,64
    17               163,64

查询

$category = '63';    

mysql_query("SELECT * FROM `oc_manufacturer` WHERE find_in_set ('" . (int)$category ."', category_id)  ");

结果将返回:

15
16

此查询有效,但如何在不使用find_in_set的情况下获得相同的结果?

2 个答案:

答案 0 :(得分:2)

试试这个

mysql_query("SELECT * FROM `oc_manufacturer` WHERE 
CONCAT(',', category_id, ',') LIKE '%,".(int)$category.",%'");

答案 1 :(得分:0)

为什么不使用IN。

mysql_query("SELECT * FROM `oc_manufacturer` 
where ('" . (int)$category ."') in (category_id)  ");