Cita:
Iniciado por xerifandtomas Obviamente no te da el mismo resultado por qué los limit no son iguales.
No es lo mismo esto
Código SQL:
Ver originalSELECT campo FROM TABLE WHERE ... LIMIT 1,3
Qué esto
Código SQL:
Ver originalSELECT campo FROM TABLE WHERE ... LIMIT 3
En cuanto a las sentencias SQL en si mismas, no hay ninguna diferencia entre una librería y otra, lo único que varía es la forma de ejecutarlas.
Esto ahora es OFF TOPIC en PHP.
POdrías fijarte mejor cual es el lenguaje sobre el que va la duda,
y postear en el foro correcto, ¿no te parece?
La respuesta de la diferencia de comportamiento entre LIMIT 1, 3 y LIMIT 3 es un tema de MySQL, no de PHP y es simple: Cuando pones sólo un parámetro (LIMIT M) MySQL devolverá las M primeras líneas, mientras que cuando pones dos (LIMIT N, M) desplazará el puntero de registros N líneas hacia adelante, y recién entonces devolverá los M siguientes resultados.
LIMIT 1, 3 le indica a MySQL que devuelva los registros, 2, 3 y 4 de los que se hayan obtenido. Por eso, si hubiese 1 sólo registro, simplemente no te devolverá nada.
Para que se puedan poner dos parámetros, my el resultado sea equivalente al LIMIT 3, debería ser:
Por otro lado, hay que considerar que tienes un WHERE, y si las condiciones de una y otra no son exactamente las mismas, los resultados de las ejecuciones no son comparables.
Posdata: SQL, por más que lo pongas
embebido en PHP, sigue siendo tema del foro de BBDD