Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/04/2013, 19:42
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con INNER JOIN y PDO

Código MySQL:
Ver original
  1. FROM usuarios U INNER JOIN  registro R ON U.id = R.id_user;
Si esto no te devuelve datos, y efectivamente el campo id_user de Registro es FK de la PK de Usuario, entonces simplemente no hay datos que cumplan el criterio (y es una tabla MyISAM), o la tabla Registro está vacía...

Cita:
sera que PDO no soporta lo JOIN?


La consulta no la ejecuta el PDO, sino MySQL. En tanto le llegue la consulta como la escribiste, debe devolver resultados, siempre que haya datos relacionados entre ambas tablas.

Cita:
cuando le quito el join (es decir consulto una sola tabla) me muestra los resultado de esa tabla.
Si le quitas el JOIN y pones las tablas separadas por una coma, estás generando un producto cartesiano donde MySQL cruza aquellos campos que tienen el mismo nombre. Pero en tu caso, si existe un ID de Registro, lo estaría cruzando con el ID de Usuario, y eso es un error.

Si en lugar de eso, consulta sólo Usuario y te devuelve datos, lo único que nos dice eso es que la tabla Usuario tiene datos... Pero no dice si hay datos relacionados en la otra.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)