Ver Mensaje Individual
  #19 (permalink)  
Antiguo 04/10/2011, 12:44
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: 16 años, 5 meses
Puntos: 2658
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Bueno, esto:
Código MySQL:
Ver original
  1. UPDATE noticiascat SET titulo='prueba', fecha='prueba', texto='prueba' WHERE id_noticia=Query was empty
Muestra que la construcción de la consulta es incorrecta. El valor de $id no está incorporánose a la consulta y por tanto ese WHERE está devolviendo un conjunto vacío de registros. Por eso no actualiza nada.

Este otro:
Código MySQL:
Ver original
  1. UPDATE noticias SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia=$'id'

Muestra por donde anda la cosa: Estás escribiendo mal la construcción del UPDATE. Ten en cuenta que las variables deben quedar entre ap´strofes cuando son de caracteres o fechas, y sin apóstrofes cuando son numéricas.
La sintaxis debería ser:


Código PHP:
Ver original
  1. $qry="UPDATE noticias SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia=$id";
si $id es numérica, y

Código PHP:
Ver original
  1. $qry="UPDATE noticias SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia = '$id'";
si $id es de cadena.

Otra forma es encadenando todo:

Código PHP:
Ver original
  1. $qry = "UPDATE noticias SET titulo='".$titulo."', ";
  2. $qry .= "fecha='".$fecha."', texto='".$texto."' ";
  3. $qry .= "WHERE id_noticia = '".$id."'";
Te lo pongo en tres renglones para que se pueda leer mejor.

De todos modos esto es un tema de PHP y no de MySQL, por lo que te recomiendo atenerte a las reglas del foro de bases de datos y preguntar estas cosas en el Foro de PHP. Allí te lo habrían diagnosticado más rápidamente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)