Buenas!
tengo un problema con una consulta SQL de firebird en un script PHP y es que resulta que con pequeños cambios a veces funciona y a veces no. Resumiendo, tengo la siguiente consulta (resumida porque tiene muchos campos):
esta sentencia me debuelve bien todos los campos sin problemas en mi web:
Código PHP:
SELECT [...] MUCHOS CAMPOS [...] FROM CPEDIDOS C
INNER JOIN CPEDIDOS_CONTENIDO CC ON CC.ID_PEDIDO = C.ID_PEDIDO
INNER JOIN PEDIDOS_CONTENIDO PC ON PC.ID_PEDIDO = CC.ID_PEDIDO_CLIENTE
INNER JOIN PEDIDOS P ON PC.ID_PEDIDO = P.ID_PEDIDO
INNER JOIN ARTICULOS A ON CC.ID_ARTICULO = A.ID_ARTICULO
INNER JOIN CARTA_DETALLE CD ON A.ID_CARTA = CD.ID_CARTA
INNER JOIN FAMILIAS_ARTICULOS FA ON FA.ID_ARTICULO = A.ID_ARTICULO
INNER JOIN FAMILIAS F ON FA.ID_FAMILIA = F.ID_FAMILIA
LEFT JOIN ENTIDADES PROV ON C.ID_ENTIDAD = PROV.ID_ENTIDAD
LEFT JOIN ENTIDADES CLI ON C.ID_CLIENTE = CLI.ID_ENTIDAD
INNER JOIN PROYECTOS PROY ON C.ID_PROYECTO = PROY.ID_PROYECTO
INNER JOIN CRITICAL_PATH_FECHAS CPF ON CC.ID_CONTENIDO = CPF.ID_CONTENIDO
WHERE A.ID_EMPRESA = 1
Esta tambien (simplemente añado un OREDER BY):
Código PHP:
SELECT [...] MUCHOS CAMPOS [...] FROM CPEDIDOS C
INNER JOIN CPEDIDOS_CONTENIDO CC ON CC.ID_PEDIDO = C.ID_PEDIDO
INNER JOIN PEDIDOS_CONTENIDO PC ON PC.ID_PEDIDO = CC.ID_PEDIDO_CLIENTE
INNER JOIN PEDIDOS P ON PC.ID_PEDIDO = P.ID_PEDIDO
INNER JOIN ARTICULOS A ON CC.ID_ARTICULO = A.ID_ARTICULO
INNER JOIN CARTA_DETALLE CD ON A.ID_CARTA = CD.ID_CARTA
INNER JOIN FAMILIAS_ARTICULOS FA ON FA.ID_ARTICULO = A.ID_ARTICULO
INNER JOIN FAMILIAS F ON FA.ID_FAMILIA = F.ID_FAMILIA
LEFT JOIN ENTIDADES PROV ON C.ID_ENTIDAD = PROV.ID_ENTIDAD
LEFT JOIN ENTIDADES CLI ON C.ID_CLIENTE = CLI.ID_ENTIDAD
INNER JOIN PROYECTOS PROY ON C.ID_PROYECTO = PROY.ID_PROYECTO
INNER JOIN CRITICAL_PATH_FECHAS CPF ON CC.ID_CONTENIDO = CPF.ID_CONTENIDO
WHERE A.ID_EMPRESA = 1
ORDER BY A.CODIGO
sin embargo esta no funciona (y solamente invierto el campo ORDER BY ponioendo que me ordene descendiente):
Código PHP:
SELECT [...] MUCHOS CAMPOS [...] FROM CPEDIDOS C
INNER JOIN CPEDIDOS_CONTENIDO CC ON CC.ID_PEDIDO = C.ID_PEDIDO
INNER JOIN PEDIDOS_CONTENIDO PC ON PC.ID_PEDIDO = CC.ID_PEDIDO_CLIENTE
INNER JOIN PEDIDOS P ON PC.ID_PEDIDO = P.ID_PEDIDO
INNER JOIN ARTICULOS A ON CC.ID_ARTICULO = A.ID_ARTICULO
INNER JOIN CARTA_DETALLE CD ON A.ID_CARTA = CD.ID_CARTA
INNER JOIN FAMILIAS_ARTICULOS FA ON FA.ID_ARTICULO = A.ID_ARTICULO
INNER JOIN FAMILIAS F ON FA.ID_FAMILIA = F.ID_FAMILIA
LEFT JOIN ENTIDADES PROV ON C.ID_ENTIDAD = PROV.ID_ENTIDAD
LEFT JOIN ENTIDADES CLI ON C.ID_CLIENTE = CLI.ID_ENTIDAD
INNER JOIN PROYECTOS PROY ON C.ID_PROYECTO = PROY.ID_PROYECTO
INNER JOIN CRITICAL_PATH_FECHAS CPF ON CC.ID_CONTENIDO = CPF.ID_CONTENIDO
WHERE A.ID_EMPRESA = 1
ORDER BY A.CODIGO DESC
Las tres sentencias las he probado en IBEXPERT (gestor de DB) y me cargan bien todos los campos, pero en la web el php se cuelga y corta la consulta a medias, es posible que sea algo de la config del php.ini o alguna otra cosa del servidor? (ya sea de php, o firebird, o RAM o lo que sea)
(estoy usando un ubuntu server con NGINX + firebird)
muchas gracias de antemano y un salud :)