获取包含在逗号分隔字符串中的行

时间:2015-08-10 05:43:38

标签: php mysql

我有一串ID。如何获取这些ID的所有行。

例如:

$string = "0,2,4";

user_ID  |  first_name
------------------------------------
   0        james
   1        mike
   2        jake
   3        hannah
   4        john

查询应返回0,2,4的行james, jake, john

编辑: 对字符串进行清理,验证,查询使用预准备语句。

4 个答案:

答案 0 :(得分:3)

一个简单的SQL查询就可以解决问题。

__init__

显然,应该采取预防措施来验证传递给查询的数据字符串。

答案 1 :(得分:1)

"SELECT * FROM table WHERE user_ID IN (" . $string . ")"

OR

"SELECT * FROM table WHERE user_ID IN ('" . str_replace([' ', ','], ['', "','"], $string) . "')"

答案 2 :(得分:1)

SELECT * FROM table WHERE id IN(" 2,3,5");

上表仅给出2的结果,因为它将获取第一个id并仅返回单个结果。

要获取所有字段,您需要通过以下双引号传递.. SELECT * FROM表WHERE id IN(2,3,5);

答案 3 :(得分:0)

很抱歉迟到..

我根据RhapX尝试了它的工作正常。非常感谢你。

SELECT * FROM tablename WHERE user_ID IN ($string);