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

Estoy teniendo un problema con mi consulta. Recientemente cambié a PDO, 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 obtengo este error:

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

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

  $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 "
{$row["friendID"]}"; } } 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 amigos donde el ID de usuario es sesión y la solicitud es 0. Pero luego quiero obtener la ID de esos amigos en los usuarios para que pueda hacer un enlace a su perfil. Tenga en cuenta la $row["id"]

Agradezco cualquier comentario, no tiene que responder mis preguntas, si nota algún problema, coméntelo. ¡Gracias!

No vuelvas a marcar el `table.field` … Tienes que ponerlos alrededor de` table“field`

Cambia tu consulta con este:

 $query = "SELECT * FROM `friends` as F INNER JOIN `users` as U ON `F.friendID` = `U.id` WHERE `F.userID` = '{$sess_user}' AND `F.request` = '0'"; 

Y agregue esto a su conexión, le mostrará los errores:

  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Set Errorhandling to Exception 

¡EN MI HUMILDE OPINIÓN! Vi problemas así con PDO … y … creo que es más probable que haga todo con SQL puro, pero es bueno, entonces, agachar la cabeza con PDO.