PHP怎么查询一个字符串和一个数组字段里的值匹配的SQL查询
程序员文章站
2024-02-15 21:22:16
...
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试试?
如果是直接查询 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; } } }
------解决方案--------------------
相关文章
相关视频
上一篇: select-Mysql连表查询怎样加锁
下一篇: Oracle内存结构研究-PGA篇