所以我有一个设计糟糕的数据库(我认为),我无法更改。这是一个类似推特的应用程序,用户可以互相关注。每个用户在表中都有它的行,并且在该表中有一个名为“following”的列,它代表用户正在关注的所有 USERID。在该列中有一个用逗号分隔的 USERID 列表。因此,假设 ID 为 1 的用户正在关注用户 2 和 3,而 ID 为 2 的用户正在关注用户 1,表格将如下所示,用户 3 没有关注任何人。
USERID | username | following
-------------------------------------------
1 | some user | 2,3
2 | test1 | 1
3 | test2 |
问题是如何显示用户 1 关注的所有用户?
编辑 1
从 491243 开始不起作用的代码,在这里发布,也许我错过了 php 中的某些内容
$USERID = $_GET['userid'];//this has a value, so not the problem here
$sql_select = "SELECT B.USERID FROM users A INNER JOIN users B ON FIND_IN_SET(B.USERID, B.following) > 0 WHERE B.USERID = '$USERID'";
$result_select = mysqli_query($link,$sql_select);
while($record = mysqli_fetch_array($result_select))
{
$following = $record['USERID'];
var_dump($following); //result is nothing, not even NULL
}
编辑 2 只是为了进行健全性检查,我这样做了:
$sql_select = "SELECT USERID FROM users WHERE USERID = '1'";
$result_select = mysqli_query($link,$sql_select);
while($record = mysqli_fetch_array($result_select))
{
$following = $record['USERID'];
var_dump($following); //result is 1, like it`s supposed to be
}
回放中的查询是否有可能我的 PHP 代码有误?