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

WHERE + ORDER BY ... me da error

Estas en el tema de WHERE + ORDER BY ... me da error en el foro de Mysql en Foros del Web. Buenas, pongo esta sentencia: Cita: $result = mysql_query("SELECT ALIAS,COMENTARIO,FECHA_COM FROM comentarios WHERE IDnoticia=$id ORDER BY FECHA_COM ", $conexion); y me da el siguiente error: mysql_fetch_row() ...
  #1 (permalink)  
Antiguo 22/06/2011, 12:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
WHERE + ORDER BY ... me da error

Buenas, pongo esta sentencia:
Cita:
$result = mysql_query("SELECT ALIAS,COMENTARIO,FECHA_COM FROM comentarios WHERE IDnoticia=$id ORDER BY FECHA_COM ", $conexion);
y me da el siguiente error:

mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\noticia.php on line 91

sin embargo si pongo solo el WHERE o solo el ORDER BY si que se me muestra bien.... y el caso es que al poner la sentencia directamente en el phpmyadmin tambien me lo muestra bien, asi que no se donde puede estar el error.


alguna idea?

thanks.
  #2 (permalink)  
Antiguo 22/06/2011, 13:09
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: WHERE + ORDER BY ... me da error

Código MySQL:
Ver original
  1.      ALIAS,
  2.      COMENTARIO,
  3.      FECHA_COM
  4. FROM comentarios
  5.      WHERE IDnoticia=$id
  6. ORDER BY FECHA_COM;
Es posible que la variable $id esté llegando vacía, o bien que "ALIAS" sea una palabra reservada, y por eso te de error.

Prueba con:
Código MySQL:
Ver original
  1.      `ALIAS`,
  2.      COMENTARIO,
  3.      FECHA_COM
  4. FROM comentarios
  5.      WHERE IDnoticia=$id
  6. ORDER BY FECHA_COM;
Si no funciona, verifica la variable.

Atención: No confundir loa acentos inversos (`) que puse con los apóstrofos ('). Son cosas diferentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/06/2011, 12:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: WHERE + ORDER BY ... me da error

pues no me ha funcionado, ni cambiando los nombres de las variables. Ademas no creo que sea por eso ya que si pongo solo WHERE IDnoticia=$id o pongo solo ORDER BY FECHA_COM , si que me funciona, el error lo da cuando pongo el WHERE y el ORDER BY en la misma sentencia.... y no me explico de que puede ser porque esa sentencia en el phpmyadmin si que va

que raro :(
  #4 (permalink)  
Antiguo 23/06/2011, 12:18
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: WHERE + ORDER BY ... me da error

¿Has probado capturando el error devuelto por MySQL?
__________________
¿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 23/06/2011, 12:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: WHERE + ORDER BY ... me da error

a que te refieres con capturar el error? :S
  #6 (permalink)  
Antiguo 23/06/2011, 12:37
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: WHERE + ORDER BY ... me da error

Pues... eso mismo: Mysql, si no puede ejecutar una consulta devuelve un código y un mensaje de error... Todos los DBMS lo hacen, y todos los lenguajes pueden manejar eso. ¿No lo sabías?
¿Nunca has capturado errores de ejecución de PHP?



Es programación básica...


En la web de PHP encontrarás ejemplos de consultas a MySQL usando capturas de errores. Por ejemplo:
Código PHP:
Ver original
  1. <?php
  2. $result = mysql_query('SELECT * FROM table1 WHERE 1=1');
  3. if (!$result) {
  4.     die('Invalid query: ' . mysql_error());
  5. }
  6.  
  7. ?>
O bien:
Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect("localhost", "mysql_user", "mysql_password");
  3.  
  4. mysql_select_db("nonexistentdb", $link);
  5. echo mysql_errno($link) . ": " . mysql_error($link). "\n";
  6.  
  7. mysql_select_db("kossu", $link);
  8. mysql_query("SELECT * FROM nonexistenttable", $link);
  9. echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
  10. ?>
Incluso, lo primero que debes hacer siempre, es verificar que el $result de la ejecución sea válido.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 23/06/2011, 13:58
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: WHERE + ORDER BY ... me da error

eso ya lo se... pero es que me extrañó tu pregunta porque el error que devuelve mysql ya lo puse en el mensaje inicial:

mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\noticia.php on line 91

o sea que el error da al guardarlo en el $result, lo que no se es por qué :S
  #8 (permalink)  
Antiguo 23/06/2011, 13:59
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: WHERE + ORDER BY ... me da error

Cita:
mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\noticia.php on line 91
Esto es un error de PHP, no de MySQL.
Lo que no estás viendo es cuál es el error que puede estar devolviendo mysql_error().
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php
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 20:12.