Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/11/2013, 10:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: consulta MySql!

Código SQL:
Ver original
  1. SELECT
  2.     noticias.idNoticia,
  3.     noticias.titulo,
  4.     noticias.copete,
  5.     noticias.cuerpo,
  6.     noticias.fCreacion,
  7.     noticias.fModificacion,
  8.     categorias.valor AS categoria,
  9.     usuarios.usuario
  10. FROM `noticias`
  11.     INNER JOIN `categorias` ON categorias.idCategoria = noticias.idCategoria
  12.     INNER JOIN `usuarios` ON usuarios.idUsuario = noticias.idUsuario
  13. WHERE idNoticia = '" . $_GET['idNoticia'] . "' AND titulo = '" . $_GET['titulo'] . "'
Mira, si ya tienes el ID de noticia, se supone que el título es irrelevante. Y si tienes el título correctamente, el idNoticia no es necesario.
Pero si uno de los dos valores no llega o no coninciden al mismo tiempo con la oticia, esa consulta no devovlerá datos.
¿Tienes claro eso?
Si lo que quieres es que te evalúe uno u otro, pero al menos uno de ambos, entonces la sintaxis es otra:
Código SQL:
Ver original
  1. SELECT
  2.     noticias.idNoticia,
  3.     noticias.titulo,
  4.     noticias.copete,
  5.     noticias.cuerpo,
  6.     noticias.fCreacion,
  7.     noticias.fModificacion,
  8.     categorias.valor AS categoria,
  9.     usuarios.usuario
  10. FROM `noticias`
  11.     INNER JOIN `categorias` ON categorias.idCategoria = noticias.idCategoria
  12.     INNER JOIN `usuarios` ON usuarios.idUsuario = noticias.idUsuario
  13. WHERE idNoticia = " . $_GET['idNoticia'] . " OR titulo = '" . $_GET['titulo'] . "'
Por otro lado, usar el título como parte de la búsqueda puede ser un poco inseguro, si el valor ingresado en formulario no es exactamente el mismo. Con una sola letra de diferencia, y ese registro no lo encontrarás.

Además, no veo que estés validando en su script PHP que las consultas realmente estén devolviendo datos. Cometes el clásico error de asumir que la consulta funciona y devuelve datos, no lo que no es necesariamente cierto. Nunca.
Valida la respuesta (el result), antes de intentar hacer un fetch.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)