2016-04-15 28 views
1

我有表user_id(int(10)) and follow_sub(varchar(30))排序合并联接

“user_likes”(用户的所有喜欢)表“user_following”(所有用户按照潜艇)与user_id(varchar(15)) and post_sub(varchar(15))

和“user_post”与user_id(int(10)) post_txt(text) sub_id(varchar(30) parallel to follow_sub) post_unix_time(float)

我有2种方式来订购的帖子:

1)通过最新的职位潜艇,用户如下:

 $result11="SELECT * FROM user_post 
     INNER JOIN users_following ON user_post.sub_id=users_following.follow_sub 
     WHERE users_following.user_id='$userid' 
     ORDER BY user_post.post_id DESC"; 

2)通过算法计算每篇文章的喜欢,但所有的SUBS(即使用户不跟随他们):

 $result11="SELECT user_post.*, (LOG10(ABS(COUNT(user_likes.post_id)) + 1) * SIGN(COUNT(user_likes.post_id)))/user_post.post_unix_time AS like_count 
        FROM user_post LEFT JOIN user_likes 
        ON user_post.post_id = user_likes.post_id 
        GROUP BY user_post.post_id 
        ORDER BY like_count desc;"; 

我想joins-两者结合起来用LIKES ALGORITHM将帖子呈现给他所关注的潜在用户。

这是我试图做到这一点,但它告诉我错误 - mysql_num_rows() expects parameter 1 to be resource, boolean given in

  $result11="SELECT user_post.*, (LOG10(ABS(COUNT(user_likes.post_id)) + 1) * SIGN(COUNT(user_likes.post_id)))/user_post.post_unix_time AS like_count 
      FROM user_post.* 
      LEFT JOIN user_likes ON user_post.post_id = user_likes.post_id 
      INNER JOIN users_following ON user_post.sub_id=users_following.follow_sub 
      WHERE users_following.user_id='$userid' 
      GROUP BY user_post.post_id 
      ORDER BY like_count DESC"; 

我怎样才能使它发挥作用?

+0

当然FROM FROM userpost。*应该是FROM userpost –

回答

2

它给人一种布尔像MySQL的任何味道或mysqli的您正在使用返回false,而不是因为你有一个声明的对象无效SQL

FROM userpost.*

应该

FROM userpost

+0

hmmm wowww ...我没想到它很容易解决它。谢谢 –