首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP怎么查询一个字符串和一个数组字段里的值匹配的SQL查询

2012-09-27 
PHP如何查询一个字符串和一个数组字段里的值匹配的SQL查询如果是直接查询 pt$rpt 的记录是这样$sql SE

PHP如何查询一个字符串和一个数组字段里的值匹配的SQL查询
如果是直接查询 pt=$rpt 的记录是这样
$sql = "SELECT * FROM 'user' where pt = {$rpt}";

现在 pt 这个字段是个数组,比如有3条记录分别为

ID PT
1 aaaaa,bbbbb,ccccc,ddddd
2 www,zzz,vvv,qqq
3 ooo,pppp,lllll,ddd

现在假如 rpt=ddd ,我想查出 PT 里有 ddd 的记录,那么应该是ID为 3 的那条记录,即完全匹配的。而不是1,和3两条记录。

请问这个SQL该怎么写 ?


[解决办法]
','+pt+',' like '%,$rpt,%'
[解决办法]
... where find_in_set('$rpt', pt)
[解决办法]
不知道对不对 。。
LZ试试?

PHP code
/* 根据楼主数据内容 * 应该都是用某个特定分隔符分开的 */$sql = "SELECT * FROM 'user' where pt = {$rpt}";$result = mysql_query($sql);   while($row = mysql_fetch_array($result)){  $arr = explode(',',$row['PT'])  foreach($arr as $v)  {   if($v == {$rpt})   {    echo $v;   }  }}
[解决办法]
探讨

引用:
... where find_in_set('$rpt', pt)

这样不对吧,那只要包含 rpt 的都匹配出来了
我是想查出完全匹配的

热点排行