使用LIKE的PHP MySql搜索匹配太多行

Glu*_*ear 2 php mysql search sql-like

我接管了一个使用LIKE查询来搜索分隔值字段的网站.典型字段可能如下所示:

129|145|181
Run Code Online (Sandbox Code Playgroud)

查询看起来像这样:

SELECT id,title FROM research WHERE members like '$arr[0]'
Run Code Online (Sandbox Code Playgroud)

问题在于,当搜索例如"29"时,它返回其中带有"129"的字段.我希望它只返回带有"29"的字段.有没有办法做到这一点?

谢谢,G

sum*_*mit 5

使用它,更快更有效.

$str="129|145|181";
$newstr=str_replace("|",",",$str);
$sql='SELECT id,title FROM research WHERE members IN('.$newstr.')'
Run Code Online (Sandbox Code Playgroud)