Foros del Web » Programando para Internet » PHP »

error de sintaxis

Estas en el tema de error de sintaxis en el foro de PHP en Foros del Web. Tengo una base de datos e intento mostrar un listado de 20 en 20, pero al paginar me da este error: You have an error ...
  #1 (permalink)  
Antiguo 19/12/2005, 10:58
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
error de sintaxis

Tengo una base de datos e intento mostrar un listado de 20 en 20, pero al paginar me da este error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='' ORDER BY id ASC LIMIT 20,20' at line 1

¿alguna idea de que puede ser? gracias
  #2 (permalink)  
Antiguo 19/12/2005, 11:22
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
De acuerdo

Coloca esto para revisar tu consulta. como esta armada.
Código PHP:
mysql_db_query($database,$sql)
    or die(
"Error al ejecutar la consulta $sql ".mysql_error()); 
hazle un echo a tu $sql y ejecutalo en mysql solamente debe ser algun parametro que te falta en el SQL o coloca tu consulta aca a ver si podemos ver que pasa.

en realidad es con la sintaxis del SQL te falta algo.. puede ser falta de un espacio o algo asi.

Saludos
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #3 (permalink)  
Antiguo 19/12/2005, 11:33
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
el codigo que produce el error si no me equivoco es

$resultado = "SELECT * FROM propiedades WHERE $vari='$cat' ORDER BY id ASC LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base_dato,$resultado) or die (mysql_error());
  #4 (permalink)  
Antiguo 19/12/2005, 11:39
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 3 meses
Puntos: 0
parece ser que el error esta en la variable $vari, sabes que es lo trae esa variable????

como dijo flaconovato haz una impresion de tu $sql para ver tu instruccion como se esta mandando a mysql...
__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #5 (permalink)  
Antiguo 19/12/2005, 11:55
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
el error que me da es:

Código PHP:
Parse errorparse errorunexpected T_LOGICAL_OR in /home/ggg/public_html/ino/listar.php on line 61 
  #6 (permalink)  
Antiguo 19/12/2005, 12:27
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 18 años, 9 meses
Puntos: 5
De acuerdo

Hola pereztroff

Cita:
el codigo que produce el error si no me equivoco es

$resultado = "SELECT * FROM propiedades WHERE $vari='$cat' ORDER BY id ASC LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base_dato,$resultado) or die (mysql_error());
__________________
en tu fragmento de codigo ... $vari está tratandose como una variable ( ahi debe estar algun campo de la Tabla oK.

Prueba con este codigo :

Código PHP:
$resultado "SELECT * FROM propiedades WHERE '$vari'='$cat' ORDER BY id ASC LIMIT $inicial,$cantidad"


Saludos ....
__________________
. .: El mejor Inicio :. .
  #7 (permalink)  
Antiguo 19/12/2005, 13:33
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
De acuerdo

Haz una impresion de tu variable $resultado a ver que te esta colocando PHP en esa variable...
Código PHP:
echo $resultado
Saludos
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #8 (permalink)  
Antiguo 19/12/2005, 14:10
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
Cuando listo la primera pantalla de 20 registros el valor de la variable es
SELECT * FROM propiedades WHERE categoria='Pisos' ORDER BY id ASC LIMIT 0,20

pero cuando le digo siguiente para que me liste los siguientes

SELECT * FROM propiedades WHERE ='' ORDER BY id ASC LIMIT 20,20
  #9 (permalink)  
Antiguo 19/12/2005, 14:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por pereztroff
Cuando listo la primera pantalla de 20 registros el valor de la variable es
SELECT * FROM propiedades WHERE categoria='Pisos' ORDER BY id ASC LIMIT 0,20

pero cuando le digo siguiente para que me liste los siguientes

SELECT * FROM propiedades WHERE ='' ORDER BY id ASC LIMIT 20,20
Pues entonces lo que te sucede es que "pierdes" o no propagas esa variable $categoria en tus links de paginado.

Como no muestras el código que usas para paginar tus resultados .. poco más se puede decir al respecto que DEBES incluir esa variable "categoria" en tus links de paginado.

Un saludo,
  #10 (permalink)  
Antiguo 20/12/2005, 03:17
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
Dar gracias a todos por su ayuda ya lo resolvi.
El problema es que se perdia el valor de la variable, asi que tuve que usar echo $_GET['$categoria'];

y luego en el link de pagina siguiente adjuntar el valor de esa variable.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:00.