Mysql查询 - 如何使用包含?

时间:2016-07-25 09:03:42

标签: php mysql contains

在我的表格中,名为group_members_id的列包含10位用户的userid。 我一直试图找出如何使用MySQL来查询如果给定userid匹配那10个用户ID中的任何一个,那么获取该行的详细信息。

"SELECT * FROM `table` WHERE `group_members_id`.contains('{$userid}')".

此代码无效。谁能帮我?

4 个答案:

答案 0 :(得分:2)

您可以这样使用

"SELECT *
FROM `table`
WHERE `group_members_id` LIKE '%{$userid}%'"

答案 1 :(得分:1)

使用like子句

"SELECT * FROM table WHERE group_members_id LIKE '%$userid%'";

答案 2 :(得分:1)

首先,始终使用group_member_id作为foregin id并将其设为int。

其次,永远不要将整数值用作字符串。它将有助于其他功能,如排序等。

第三,如果在表中存储了整数值作为字符串,则可以按如下方式使用:

1。)使用LIKE Clause关键字以及字符串中的百分号

"SELECT * FROM table WHERE group_members_id LIKE '%$userid%'";

2。)如果您正在寻找比您在示例中指定的更复杂的字符串组合,您可以使用正则表达式(正则表达式): 有关如何使用它们的更多信息,请参阅MySQL手册:http://dev.mysql.com/doc/refman/5.1/en/regexp.html

答案 3 :(得分:1)

考虑所有用户ID都是INT类型:

rd /?

或者,如果它们是字符串类型,请使用:

<?php
//$aUserIds is an array of  your User Ids.
$userIds = implode(",", $aUserIds);
$sQuery  = "SELECT * FROM table WHERE group_members_id IN (" +  $uSerIds + ")";