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