Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error al intentar ordenar una id en BBDD mysql

Estas en el tema de Error al intentar ordenar una id en BBDD mysql en el foro de Mysql en Foros del Web. Hola a todos, El motivo de este mensaje es para solicitarles su ayuda. Quiero ordenar unos datos de una tabla y me sale este mensaje: ...
  #1 (permalink)  
Antiguo 18/01/2010, 15:57
 
Fecha de Ingreso: abril-2005
Mensajes: 11
Antigüedad: 19 años
Puntos: 0
Error al intentar ordenar una id en BBDD mysql

Hola a todos,

El motivo de este mensaje es para solicitarles su ayuda. Quiero ordenar unos datos de una tabla y me sale este mensaje:

I cannot execute the query because: 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 'DESC_es' at line 1
And the query is: SELECT id_noticia, titular, parrafo1, imagen FROM noticias ORDER BY id_noticia DESC_es

Comentar que hay dos tablas una es noticias_es y otra noticias_en.

El código es este:

Código:
 <?php
		$a = "SELECT id_noticia, titular, parrafo1, imagen FROM noticias ORDER BY id_noticia DESC" . _LANG;
		$b = mysql_query ($a, $dbh) or die ('I cannot execute the query because: ' . mysql_error () . '<br />And the query is: ' . $a . '<br />');
	?>
Si le suprimo
Código:
ORDER BY id_noticia DESC
funciona pero no me los ordena.

Help me, please

Última edición por tipitolas; 18/01/2010 a las 16:10
  #2 (permalink)  
Antiguo 18/01/2010, 16:07
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Error al intentar ordenar una id en BBDD mysql

Estas concatenando a la consulta la variable _LANG.

que trae esta variable?

al parecer trae esto _es y como no hay espacio entre desc y esta variable la toma completa desc_es lo cual genera un error de sintaxis.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/01/2010, 16:27
 
Fecha de Ingreso: abril-2005
Mensajes: 11
Antigüedad: 19 años
Puntos: 0
Respuesta: Error al intentar ordenar una id en BBDD mysql

Gracias por tu rápida respuesta huesos52.

Si le doy espacio:

Código:
	$a = "SELECT id_noticia, titular, parrafo1, imagen FROM noticias ORDER BY id_noticia DESC" . ' '  . _LANG;
Me da el mismo error pero con un espacio.

Soy un poco nuevo con estos lenguajes, lo siento.

Muchas gracias

Última edición por tipitolas; 18/01/2010 a las 17:50
  #4 (permalink)  
Antiguo 18/01/2010, 20:22
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Error al intentar ordenar una id en BBDD mysql

¿Para qué pones ese valor "_es"?
¿Qué función cumple?
La sentencia así sería suficiente para devolverte datos:
Código MySQL:
Ver original
  1. SELECT id_noticia, titular, parrafo1, imagen
  2. FROM noticias
  3. ORDER BY id_noticia DESC;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 18/01/2010, 21:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Error al intentar ordenar una id en BBDD mysql

Es cierto.
Que funcionalidad tratas de darle poniendo esta variable?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 19/01/2010, 01:42
 
Fecha de Ingreso: abril-2005
Mensajes: 11
Antigüedad: 19 años
Puntos: 0
Respuesta: Error al intentar ordenar una id en BBDD mysql

Le estoy diciendo que coja el idioma correspondiente en cada caso, castellano o inglés respectivamente.
  #7 (permalink)  
Antiguo 19/01/2010, 04:29
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Error al intentar ordenar una id en BBDD mysql

Eso, que sepa, no existe en una sentencia de MySQL... Lo único que estás haciendo es alterando la sintaxis de la sentencia y generando un error.
¿De qué documentación tomaste ese ejemplo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 19/01/2010, 07:31
 
Fecha de Ingreso: abril-2005
Mensajes: 11
Antigüedad: 19 años
Puntos: 0
Respuesta: Error al intentar ordenar una id en BBDD mysql

Tal como dije al principio sin el ORDER BY funciona correctamente, este proyecto no lo he desarrollado yo. Hay dos tablas, una noticias_es en castellano y otra noticias_en que es en inglés. Al decirle al final _LANG se le dice que dependiendo del idioma seleccionado en la web vaya a una tabla o a otra.

Muchas gracias
  #9 (permalink)  
Antiguo 19/01/2010, 07:37
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Error al intentar ordenar una id en BBDD mysql

Pues, si fuese así, la concatenación de esta variable no sería donde lo haces, sino en la mitad de la sentencia al hacer consulta a la tabla.

Código PHP:
Ver original
  1. $a = "SELECT id_noticia, titular, parrafo1, imagen FROM noticias" . _LANG . "ORDER BY id_noticia DESC";
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 19/01/2010, 07:43
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Error al intentar ordenar una id en BBDD mysql

Exactamente como dice huesos52, si te fijas en tu primer post, la sentencia comienza a funcionarte bien cuando le sacas el ORDER BY, porque entonces el nombre de la tabla se encadena bien.
Tu error consistió en poner el ORDER BY id_noticia DESC, sin fijarte que lo estabas metiendo entremedio de las dos partes del nombre de tu tabla...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 19/01/2010, 19:22
 
Fecha de Ingreso: abril-2005
Mensajes: 11
Antigüedad: 19 años
Puntos: 0
Respuesta: Error al intentar ordenar una id en BBDD mysql

Pues si lo pongo como dicen ustedes me da este error, no entiendo nada.

I cannot execute the query because: 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 'BY id_noticia DESC' at line 1
And the query is: SELECT id_noticia, titular, parrafo1, imagen FROM noticias_esORDER BY id_noticia DESC

Help me please, thanks.
  #12 (permalink)  
Antiguo 19/01/2010, 20:54
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Error al intentar ordenar una id en BBDD mysql

Fijate bien lo que escribes: Estás pegando el nombre de la tabla a la cláusula ORDER. No estás dejando espacio...
Tu sentencia debería quedar escrita:
Código MySQL:
Ver original
  1. SELECT id_noticia, titular, parrafo1, imagen FROM noticias_es ORDER BY id_noticia DESC;
Antes que nada, primero asegúrate de que las cadenas queden bien construidas, probándolas manualmente en algún front-end, como PhpMyAdmin, Navicat o MySQL Query Browser. Es la mejor forma (y la que más usamos los que trabajamos como desarrolladores).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 19/01/2010, 21:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Error al intentar ordenar una id en BBDD mysql

con esta si vas a la fija

Código php:
Ver original
  1. $a = "SELECT id_noticia, titular, parrafo1, imagen FROM noticias" . _LANG . " ORDER BY id_noticia DESC";

te recomiendo trates de poner logica a lo que te dice el error.

te da en el by, por que la palabra order se pegaba del nombre de la tabla y no se reconocia como la sintaxis correcta de una consulta en mysql.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #14 (permalink)  
Antiguo 23/01/2010, 14:05
 
Fecha de Ingreso: abril-2005
Mensajes: 11
Antigüedad: 19 años
Puntos: 0
Respuesta: Error al intentar ordenar una id en BBDD mysql

Solucionado. Muchas gracias.

Etiquetas: bbdd
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 04:01.