douying0108 2016-06-03 15:05
浏览 91
已采纳

MySQL Query-使用like运算符时出现问题

I have a table names and in that table there is a field info data is like this:

ID    info
1    'alpha,romeo,ciera,delta'
2    'testing,temp,total' 

I am trying to create a select query.

select * from names where info like '%$var%'

$var is data from php.

Problem is i want exact match. If i use above query and in $var if data is rome then it also return row of romeo.

one more example-

data in table is testing,temp,total user input data is test then it also return testing

i tried

select * from names where info like '$var%' 

and

select * from names where info like '%$var'

but it didn't return data as i expected.

Please advise how can i achieve this.

Note- : This is an example i am not using mysql as its depreciated. I am using mysqli

  • 写回答

3条回答 默认 最新

  • dongqiaochi2711 2016-06-03 15:28
    关注

    Append , at begin and end of your target search string.

    And then make sure your source string also has those ,

    SQL Fiddle Demo

    select * 
    from names 
    where  concat( ',', info , ',') like 
           concat( '%,', $var, ',%')
    

    The problem is this wont use any index. You should go for FULL TEXT search

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示