繁体   English   中英

如何使用MySQL按照多个ID从表中获取值

[英]How to fetch value from table as per multiple id using MySQL

我需要一个帮助。 我需要使用MySQL以逗号分隔的字符串中的多个ID从表中获取值。 我在下面解释我的表和查询。

db_basic:

id      special          name

 1       2,3,4,5          Raj


 2      4,2,5,6           Rahul

 3      3,5,6             Rocky

我的代码如下。

$special=2;
$qry=mysqli_query($connect,"select * from db_basic where special='".$special."'");

在这里,我需要在其中用逗号分隔的字符串中存在special=2位置,以获取那些值。 我只需要正确的查询。 请帮我。

如果您当前使用的代码专用于返回数据库的第一行和第二行,则可以在查询中使用LIKE运算符,如下所示:

$special=2;
$qry=mysqli_query($connect,"select * from db_basic where special LIKE '%,".$special.",%'");

LOCATE ,如:

$special=2;
$qry=mysqli_query($connect,"select * from db_basic where LOCATE(".$special.",special)>0");

FIND_IN_SET :从docco 开始 -“如果第一个参数包含逗号(“,”)字符,则此功能无法正常工作”。

使用以下查询

可能对你有用

使用LIKE代替“ =”

“从db_basic中选择*,其中特殊的LIKE'%”。$ special。“%'”

使用FIND_IN_SET函数进行ex。 从db_basic中选择*,其中FIND_IN_SET(2,special)

尝试一次

select * from db_basic where FIND_IN_SET($special, special);

它应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM