Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/02/2014, 13:28
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: 17 años, 3 meses
Puntos: 2658
Respuesta: Unir Consultas

Bueno, el error es bastante simple.
Mira:

Código SQL:
Ver original
  1. SELECT *
  2. FROM producto_productos
  3. WHERE IDProducto_Catalogo=".$reg['IDProducto_Catalogo']."
  4. UNION
  5. SELECT *
  6. FROM producto_productos JOIN producto_xtras ON producto_productos.IDProducto_Producto =  producto_xtras.IDProducto_Producto
  7. WHERE producto_xtras.IDProducto_Catalogo = '" . $reg['IDProducto_Catalogo'] . "'
Estás haciendo un UNION sobre el resultado de la consulta a una tabla, con otra consulta a la misma tabla con un JOIN contra una segunda tabla, pero estás pidiendo todas las columnas de cada SELECT, y el segundo tiene más columnas que el primero.
El UNOIN en todos los DBMS requiere que ambas consultas devuelvan la misma cantidad de columnas, en el mismo orden y del mismo tipo.
Por otro lado, a nivel de PHP, ni siquiera te estás molestando en verificar que la query enviada se haya ejecutado correctamente. Tu asumes que funcionó bien, y eso es algo que nunca se debe asumir.
Debes siempre verificar si la ejecución de la query fue exitosa, antes de intentar hacer algo con ese result. Que esté correctamente escrito todo, no implica que la query devuelva algo... en especial si ese algo depende de variables...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)