Llamar a una función miembro rowCount () en un no-objeto

Estoy teniendo un problema con mi consulta. Recientemente cambié a DOP, que es algo nuevo para mí. Ahora necesito usar JOIN en mi consulta para obtener datos de otra tabla sin hacer dos ejecuciones.

El problema es que me sale este error:

Call to a member function rowCount() on a non-object

No entiendo cuál es el problema. Así es como se ve mi código:

  $friends_string = "SELECT * FROM `friends` as F, `users` as U WHERE `F.userID` = '$sess_user' AND `F.request` = '0' AND `F.friendID` = 'U.id'";
  $friends = $db->query($friends_string);
  if ($friends->rowCount() > 0) {

while($row = $friends->fetch(PDO::FETCH_ASSOC)) {
    echo "<br /><a href='profile.php?id={$row["id"]}'>{$row["friendID"]}</a>";
  }

} else {
    echo "no Friends";
}

O para abreviar, solo la consulta:

SELECT * FROM `friends` as F, `users` as U WHERE `F.userID` = '$sess_user' AND `F.request` = '0' AND `F.friendID` = 'U.id'

Lo que quiero es obtener todas las filas de los amigos en los que el ID de usuario es sesión y la solicitud es 0. Pero luego quiero obtener el ID de esos amigos en los usuarios para poder hacer un enlace a su perfil. Nota la$row["id"]

Aprecio cualquier comentario, no tengo que responder a mis preguntas, si observa algún problema, por favor, coméntelo. ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta