此代码适用于我的关注者系统。我想查询数据库以显示关注我的用户。函数show_users_following_you(我的id)在第9行返回错误。有人可以解释它的来源吗?
此代码适用于我的关注者系统。我想查询数据库以显示关注我的用户。函数show_users_following_you(我的id)返回错误。有人可以解释它的来源吗?
function show_users_following_you($user_id=0){
if ($user_id > 0){
$follow = array();
$fsql = "select follower_id from following where user_id='". $user_id ."'";
$fresult = mysql_query($fsql);
while($f = mysql_fetch_object($fresult)){
array_push($follow, $f->user_id);
}
if (count($follow)){
$id_string = implode(',', $follow);
$extra = " and id in ($id_string)";
}else{
return array();
}
}
$users = array();
$sql = "select id, username from users where status='active' $extra order by username";
$result = mysql_query($sql);
while ($data = mysql_fetch_object($result)){
$users[$data->id] = $data->username;
}
return $users;
}
评论表格结构
两栏:
User_id对应于被关注者,Follower_id对应于谁在执行以下操作。
答案 0 :(得分:2)
$fsql = "select follower_id from following
where user_id='$user_id'";
$fresult = mysql_query($fsql);
while($f = mysql_fetch_object($fresult)){
array_push($follow, $f->user_id);
}
您获取的对象的属性为follower_id
,但您尝试阅读user_id
。
(另外,请确保使用$user_id
或PDO来转义动态值(在本例中为mysql_real_escape_string
)。就目前而言,这可能对SQL注入开放。)
答案 1 :(得分:0)
而不是
[...]
while($f = mysql_fetch_object($fresult)){
array_push($follow, $f->user_id);
}
尝试
[...]
while($f = mysql_fetch_object($fresult)){
array_push($follow, $f->User_id);
}
问候!
答案 2 :(得分:0)
请更正查询
“从以下user_id ='$ user_id'”
中选择follower_id要
“从user_id ='”后面选择user_id。 $ user_id。“'”