1

私は2つのテーブルを持っています:

sk_accounts      //details of user
  • acnt_user_id
  • acnt_fname //名
  • acnt_lname
  • acnt_profile_picture
  • acnt_member_class
  • すぐ........

     sk_following   //table containing details of users who are following others
    
  • ID

  • flwing_follower_id //他のフォロワーがフォローしているユーザーのID
  • flwing_following_user_id
  • 次の日付

    次のMysqlコードに基づいてフォロワーの詳細を表示したい.残念ながら、3行あるにもかかわらずゼロ行を返します.私のクエリは次のようになります:

    $query_following = "SELECT sk_following.flwing_following_user_id, 
    sk_accounts.acnt_fname,
    sk_accounts.acnt_lname,
    sk_accounts.acnt_member_class,
    sk_accounts.acnt_profile_picture
    FROM sk_following 
    INNER JOIN sk_accounts 
    WHERE sk_following.flwing_follower_id='$id' AND        sk_accounts.acnt_user_id=sk_following.flwing_following_user_id AND CONCAT(sk_accounts.acnt_fname,' ',sk_accounts.acnt_lname)='$name'";
    $result_following = mysql_query($query_following);
    $count_following = mysql_num_rows($result_following);
    echo $count_following;
    

注: $id と $name には値が含まれています。

4

2 に答える 2

2

これを試して、

"SELECT sk_following.flwing_following_user_id,
sk_accounts.acnt_fname,
sk_accounts.acnt_lname,
sk_accounts.acnt_member_class,
sk_accounts.acnt_profile_picture 
FROM sk_following
LEFT JOIN sk_accounts ON sk_accounts.acnt_user_id=sk_following.flwing_following_user_id
WHERE sk_following.flwing_follower_id='$id'
AND CONCAT(sk_accounts.acnt_fname,' ',sk_accounts.acnt_lname)='$name'";

これがあなたを助けますように。

于 2013-01-31T06:53:19.890 に答える
1

サンプル データと目的の出力を見ないと完全に理解するのは難しいですが、JOIN は flwing_following_user_id ではなく flwing_follower_id にすべきですか?

SELECT sk_following.flwing_following_user_id,
    sk_accounts.acnt_fname,
    sk_accounts.acnt_lname,
    sk_accounts.acnt_member_class,
    sk_accounts.acnt_profile_picture 
FROM sk_following 
    INNER JOIN sk_accounts ON sk_accounts.acnt_user_id=sk_following.flwing_follower_id 
WHERE sk_following.flwing_follower_id='$id' 
    AND CONCAT(sk_accounts.acnt_fname,' ',sk_accounts.acnt_lname)='$name'

幸運を。

于 2013-01-31T06:44:19.643 に答える