Php:如何在MySQL中从单个字段中的数组中提取值

Php:如何在MySQL中从单个字段中的数组中提取值,php,mysql,Php,Mysql,在我的数据库中有一个名为posts的表。其中,列为: 职位-1 PostBody-我的第一篇帖子 喜欢者-1,2,3,4,5 现在我要做的是,在likers字段中,我试图在不提取字段中所有数据的情况下提取单个数字。因此,如果我想检索likers No.3,我希望在回显时输出为3 我已尝试在_SET()和strstrstr()中查找_。我得到的只是整个阵列,1-5,被回响。正因为如此,我无法将其与具有匹配编号的其他变量(即$var=3;)进行匹配 有没有办法做到这一点 Thanx如果你真的想这样做

在我的数据库中有一个名为posts的表。其中,列为:

职位-1

PostBody-我的第一篇帖子

喜欢者-1,2,3,4,5

现在我要做的是,在likers字段中,我试图在不提取字段中所有数据的情况下提取单个数字。因此,如果我想检索likers No.3,我希望在回显时输出为3

我已尝试在_SET()和strstrstr()中查找_。我得到的只是整个阵列,1-5,被回响。正因为如此,我无法将其与具有匹配编号的其他变量(即$var=3;)进行匹配

有没有办法做到这一点


Thanx

如果你真的想这样做(先看我的评论),你可以做的是检索逗号分隔的数据,将其分解成一个php数组,然后使用
array\u search
内置函数:

$likers_attribute_data = '1,2,3,4,5,';
$likers_array = explode(',', $likers_attribute_data);
// check if user 3 is a liker:
if (array_search('3', $likers_array) {
    // he has :)
} else {
    // he hasn't :(
}

同样,这是一种非常草率和低效的经营方式。请在我的评论中使用解决方案

你不应该以这种方式得到喜欢的人。您应该有一个不同的
post\u likers
表,该表只有列
post\u id
liker\u id
。通过这种方式,您可以运行一个简单的SQL查询,以确定用户是否喜欢某篇文章。您可以使用
find_IN_SET
显示查询吗?从find_IN_SET('3',likers)的文章中选择likers。OP不需要mysql解决方案PHP@FrayneKonok他没有具体说明这一点。他还说,他曾尝试使用
strstr
,这是一个PHP函数。如果你仔细阅读这个问题,你可以看出他可以接受任何一种解决方案。@themessin这个解决方案对我不起作用。它不像预期的那样拉