PDO取友

时间:2014-06-02 20:35:21

标签: php pdo

我是PDO的新手,我正在尝试获取已经是我朋友的用户,但由于某种原因,它无法获取或告诉我他们已经是我的朋友了。如果我不包括COUNT('用户名'),如果我删除了COUNT,则告诉我将朋友请求发送给已经是我朋友的用户。有人能指出我的问题。我知道它在check_frnd_query和我试图获取用户的方式。感谢

Database 'frnds'Table

id = int
user_one = varchar 255
user_two = varchar 255

在好友表中,我的用户名为user_one,user_two是我朋友的用户名。

$check_frnd_query = $this->db->prepare("SELECT COUNT('username') FROM `frnds` WHERE ('user_one'='$my_id' AND 'user_two'='$userone') OR ('user_one'='$userone' AND 'user_two'='$my_id')");

$check_frnd_query->bindValue(':user_one', $user_one, PDO::PARAM_STR);

$check_frnd_query->bindValue(':user_two', $user_two, PDO::PARAM_STR);

try{

      $check_frnd_query->execute();

      $rows = $check_frnd_query->fetchAll(PDO::FETCH_ASSOC);

      if(!empty($rows)){

         echo 'Already Friends';

      }else{
         echo 'Send Request Button!';
      }

}

1 个答案:

答案 0 :(得分:0)

您没有正确绑定参数。它应该是:user_one而不是$ my_id和:user_two而不是mysql查询中的$ userone。所以你的查询变为:

$check_frnd_query = $this->db->prepare("
  SELECT COUNT('username')
  FROM `frnds`
  WHERE ('user_one'=:user_one AND 'user_two'=:user_two) OR
    ('user_one'=:user_two AND 'user_two'=:user_one)");