你的表结构不好。应该建立名字-关键字的一一对应表:name  keyword
小刚  电脑
小刚  家电
小刚  手机
……这要搜索起来就方便多了……

解决方案 »

  1.   

    我这是在人家的系统上修改的,是dedecms系统,
    数据结构是人家设计的,唉没有办法,麻烦各位想想办法了
      

  2.   

    $arr_key = split(',','电脑,椅子');
    $sql = 'SELECT id,  name,  keyword FROM tbl_name';
    foreach($arr_key as $value){
    $filter[] = " instr( keyword,'$value')>0 ";
    }
    if($filter){
    $sql .= ' WHERE '.join(' OR ',$filter)
    }
      

  3.   


    您的思路非常的好,谢谢了,可惜您用了php语法啊?
      

  4.   

    select *
    from yourTable
    where keyword REGEXP replace('电脑,椅子',',','|');
      

  5.   


    自己也动手试试,9楼明显字段用错了 应该是name而不是keyword!无语了……