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

No puedo modificar una noticia a traves del Form en el servidor

Estas en el tema de No puedo modificar una noticia a traves del Form en el servidor en el foro de Mysql en Foros del Web. Hola a todos, quiero exponer un problema que ya no se donde más mirar... Tengo un pequeño sistema de noticias, en local me funciona todo ...
  #1 (permalink)  
Antiguo 30/09/2011, 02:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
No puedo modificar una noticia a traves del Form en el servidor

Hola a todos, quiero exponer un problema que ya no se donde más mirar...
Tengo un pequeño sistema de noticias, en local me funciona todo perfecto, alta de una noticia modificacion y baja, pero en
en servidor solo me funciona dar de alta y baja. Pero modificarla no hay forma, la llamo y recupero
en un form, pero al reenviarlo que haga el update en la base de datos no hay forma.
He revisado los archivos ytodos tienen permisos 777 y no se que puede ser.
Les coloco el procedimiento que seguí, haber si pueden ayudarme donde radica el error,

-------------------------------------------------------
La tabla se llama noticias con los campos siguientes:
-------------------------------------------------------
Id_noticia
titulo
fecha
texto
-------------------------------------------
El formulario para dar de alta una noticia:
-------------------------------------------
<FORM name"alta" method="post" action="procesa.php">
<INPUT type="hidden" name="subject" value="<?=$noticia['id_noticia']?>">
<input name="titulo" type="text" class="select" value="" size="70" />
<input name="fecha" type="text" class="select" value="" size="70" c="c" />
<textarea name="texto" cols="68" rows="2" class="select"></textarea>
<input name="Enviar" type="submit" class="buttonSubmit" id="Enviar" value="Enviar" />
</form>
------------------------
Tengo en el procesa.php, una llamada a la funcion que inserta en la base de datos

comprueba_autenticacion();
if(alta){
alta(//Insertamos una activamos funcion alta, en la base de datos
$_POST['titulo'],
$_POST['fecha'],
$_POST['texto']
);

}
en funciones tengo la funcion alta:
function alta($titulo,$fecha,$texto){
open();
$id_noticia=addslashes($titulo);
$titulo=addslashes($titulo);
$fecha=addslashes($fecha);
$texto=addslashes($texto);
$query = "INSERT INTO noticias VALUES('$id_noticia','$titulo','$fecha','$texto')" ;
$result = mysql_query($query)or die(mysql_error());
}
---------------------------------------------------------------------------
Tengo una archivo que se llama edita.php, que recupera los datos del id que quiero modificar en
un form.
---------------------------------------------------------------------------------------
<?
$id=$_GET[id];
$host="localhost";
$user="root";
$password="root";
$bd="libreria";
$conexion=mysql_connect($host,$user,$password);
mysql_select_db($bd,$conexion);
$consulta=mysql_query("SELECT titulo,fecha,texto FROM noticias WHERE id_noticia=$id",$conexion);
$totalregistros=mysql_num_rows($consulta);
?>
<?
while($row=mysql_fetch_array($consulta)){
echo"<form action=\"edita_resp.php\" method=\"post\">
<input type=\"hidden\" name=\"id\" value=\"".$row[id_noticia]."\"><br>
&nbsp;&nbsp;Títol:<br>
<input type=\"text\" class=\"select\" size=\"70\" name=\"titulo\" value=\"".$row[titulo]."\"><br>
&nbsp;&nbsp;Data:<br><input type=\"text\" class=\"select\" size=\"70\" name=\"fecha\" value=\"".$row[fecha]."\"><br>
&nbsp;&nbsp;Texte<br>
<textarea name=\"texto\" class=\"select\" cols=\"68\" rows=\"4\">\"".$row[texto]."\"</textarea><br><br><br><input type=\"submit\" class=\"buttonSubmit\" value=\"Modificar\"><br></form>";}
mysql_close($conexion);
?>
------------------------------------
HASTA AQUI BIEN, el problema radica cuando modificao el formulario este anterior con los datos
que quiero y reenvio al archivo edita_resp.php

edita_resp.php tiene este código:

<?
$id=$_POST[id];
$titulo=$_POST[titulo];
$fecha=$_POST[fecha];
$texto=$_POST[texto];
$host="localhost";
$user="root";
$password="root";
$bd="libreria";
$conexion=mysql_connect($host,$user,$password);
mysql_select_db($bd,$conexion);
$consulta=mysql_query("update noticias SET titulo='$titulo',fecha='$fecha',texto='$texto' where id_noticia='$id'",$conexion);
header("location: listadocat.php");
?>

------------------
No se que puede ser, algunas partes de codigo me ayudé de otros ejemplos otros eran ejercicios que habia
realizado mediante algunos estudios, pero no es una parte que domine mucho que se diga.

LLevo unos dias con ello, meses quizas, sacando comas, dando permisos etc, y no se que puede ser, ya que en
local me funcione todo bien y en remoto no me modifique.

Gracias a todo este foro y por si alguien puede ayudarme a solucionar el error, muchas gracias

Jana
  #2 (permalink)  
Antiguo 30/09/2011, 03:43
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Si es en un hosting donde te está dando problemas deberías revisar que permisos tiene esa base de datos ya que quizas tenga los permisos para CREATE pero no para UPDATE. Si usas CPANEL en MYSQL Databases después de crear el usuario hay que asignarle los permisos de acceso a la base de datos sino cambia los permisos por PHPMyAdmin.

Última edición por Arkaitz; 30/09/2011 a las 03:52
  #3 (permalink)  
Antiguo 30/09/2011, 05:52
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola gracias por tan rápida respuesta.

Trabajo en phpMyadmin, y la verdad no se nada de esto, voy a mirar arriba en el servidor a ver si encuentro esto que me indicas.

Gracias

jana
  #4 (permalink)  
Antiguo 30/09/2011, 06:01
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Yo creo que podría ser un problema de permisos porque en local con permisos root si te deja actualizar la información pero no en remoto que tienes permisos de usuario.
  #5 (permalink)  
Antiguo 30/09/2011, 10:44
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Esto de los permisos que me comentas d eusuario puedo mirarlo en el phpMyadmin verdad? no lo he hecho nunca tampoco, sino puedo escribir a los proveedores de hosting...

Gracias estoy en ello.
  #6 (permalink)  
Antiguo 30/09/2011, 10:58
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola de nuevo, he estado mirando en la BD en el servidor y no se donde mirar esto de los permisos, solo se que todos los archivos con filezilla le di el nivel 777 pero no consigo modificar, mejor que escriba a los proveedores del hosting? o donde puedo mirar esto de los permisos, en que zona en phh myadmin, me podeis indicar?

Muchísimas gracias...

Jana
  #7 (permalink)  
Antiguo 02/10/2011, 13:21
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

No hay forma, los proveedore me han comentado que todo esta bien permisos y erroreres en los logs, no hay, que revise mi programación.

Alguien puede ayudarme, que hagoo mal que es lo que hace que no me funcione en el servidor solo me funciona mal el UPDATE, no me inserta los datos al enviarlos...

Gracias
  #8 (permalink)  
Antiguo 04/10/2011, 03:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Por favor pueden ayudarme no consigo dar con el error, como se dan permisos al phpmyadmin en remoto? me he fijado que no tengo privilegios... en local esta bien pero en remoto tengo una cruz en rojo, y los del servidor me han dicho que es compartido. Lo siento yo aquí me pierdo.

Pero ya no se que más mirar... en local todo perfecto y en remoto no hay manera,

Gracias si pueden ayudarme...

Jana
  #9 (permalink)  
Antiguo 04/10/2011, 06:15
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

¿Qué usas remotamente en tu hosting cpanel?
  #10 (permalink)  
Antiguo 04/10/2011, 06:43
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Perdona a que te refieres que uso en el hosting remotamente...

No se, que quieres decir?

Tengo el phpmyadmin

Es eso a lo que te refieres?

Gracias

Jana
  #11 (permalink)  
Antiguo 04/10/2011, 06:50
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Revista esta página, casi al final te explica como cambiar los privilegios en phpmyadmin:

http://sauce.pntic.mec.es/crer0052/iis/phpmyadmin.htm
  #12 (permalink)  
Antiguo 04/10/2011, 07:58
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: No puedo modificar una noticia a traves del Form en el servidor

Vamos a lo básico: Si estás tratando de modificar los privilegios de usuario que te dieron los del host, no vas a poder porque tu usuario no deben estar creados con GRANT OPTION. Ningún administrador de host en su sano juicio deja que un usuario que no tenga un servidor dedicado tenga semejante nivel de permisos.
Por otro lado, ellos mismos te han dicho que los permisos están bien dados, por lo que debes tener permisos de SELECT, INSERT, UPDATE, DELETE, DROP, EXECUTE y algunos otros más. Son básicos y no suelen restringirse.
Por lo que ellos dicen, dedujeron que el problema está en la programación. Partiendo de eso, lo seguro es que este código no es el que estás subiendo al host, ¿no es así?:
Código PHP:
Ver original
  1. $id=$_POST[id];
  2. $titulo=$_POST[titulo];
  3. $fecha=$_POST[fecha];
  4. $texto=$_POST[texto];
  5. $host="localhost";
  6. $user="root";
  7. $password="root";
  8. $bd="libreria";
  9. $conexion=mysql_connect($host,$user,$password);
  10. mysql_select_db($bd,$conexion);
  11. $consulta=mysql_query("update noticias SET titulo='$titulo',fecha='$fecha',texto='$texto' where id_noticia='$id'",$conexion);
  12. header("location: listadocat.php");
Supongo que e has tomado la molestia de cambiar las variables $host, $user, $password y $bd, por sus valores correspondientes a los usados en el host. Eso es básico...
En cualquier caso, antes que nada, habría que verificar qué es lo que está llegando a la consulta, por lo que sería mejor usar una variable para contenerla y hacer un previo echo:

Código PHP:
Ver original
  1. $id=$_POST[id];
  2. $titulo=$_POST[titulo];
  3. $fecha=$_POST[fecha];
  4. $texto=$_POST[texto];
  5. $host="localhost";
  6. $user="root";
  7. $password="root";
  8. $bd="libreria";
  9. $conexion=mysql_connect($host,$user,$password);
  10. mysql_select_db($bd,$conexion);
  11. $qry="update noticias SET titulo='$titulo',fecha='$fecha',texto='$texto' where id_noticia='$id'";
  12. echo $qry;
  13. $consulta=mysql_query($qry,$conexion);
  14. header("location: listadocat.php");
Prueba así y postea lo que devuelve ese "echo $qry;", luego veremos el resto.
__________________
¿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 04/10/2011, 08:02
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Vamos a lo básico: Si estás tratando de modificar los privilegios de usuario que te dieron los del host, no vas a poder porque tu usuario no deben estar creados con GRANT OPTION. Ningún administrador de host en su sano juicio deja que un usuario que no tenga un servidor dedicado tenga semejante nivel de permisos.
Por otro lado, ellos mismos te han dicho que los permisos están bien dados, por lo que debes tener permisos de SELECT, INSERT, UPDATE, DELETE, DROP, EXECUTE y algunos otros más. Son básicos y no suelen restringirse.
Por lo que ellos dicen, dedujeron que el problema está en la programación. Partiendo de eso, lo seguro es que este código no es el que estás subiendo al host, ¿no es así?:
Código PHP:
Ver original
  1. $id=$_POST[id];
  2. $titulo=$_POST[titulo];
  3. $fecha=$_POST[fecha];
  4. $texto=$_POST[texto];
  5. $host="localhost";
  6. $user="root";
  7. $password="root";
  8. $bd="libreria";
  9. $conexion=mysql_connect($host,$user,$password);
  10. mysql_select_db($bd,$conexion);
  11. $consulta=mysql_query("update noticias SET titulo='$titulo',fecha='$fecha',texto='$texto' where id_noticia='$id'",$conexion);
  12. header("location: listadocat.php");
Supongo que e has tomado la molestia de cambiar las variables $host, $user, $password y $bd, por sus valores correspondientes a los usados en el host. Eso es básico...
En cualquier caso, antes que nada, habría que verificar qué es lo que está llegando a la consulta, por lo que sería mejor usar una variable para contenerla y hacer un previo echo:

Código PHP:
Ver original
  1. $id=$_POST[id];
  2. $titulo=$_POST[titulo];
  3. $fecha=$_POST[fecha];
  4. $texto=$_POST[texto];
  5. $host="localhost";
  6. $user="root";
  7. $password="root";
  8. $bd="libreria";
  9. $conexion=mysql_connect($host,$user,$password);
  10. mysql_select_db($bd,$conexion);
  11. $qry="update noticias SET titulo='$titulo',fecha='$fecha',texto='$texto' where id_noticia='$id'";
  12. echo $qry;
  13. $consulta=mysql_query($qry,$conexion);
  14. header("location: listadocat.php");
Prueba así y postea lo que devuelve ese "echo $qry;", luego veremos el resto.
Evidentemente yo me refería en el caso de que hubiera creado un usuario desde su panel de control y no hubiera dado los permisos de insert... por eso preguntaba si usaba Cpanel. Pero quizas tengas razón y no debería haber dado por hecho que habría cambiado los datos de usuario, password, bd en la configuración de su script.
  #14 (permalink)  
Antiguo 04/10/2011, 08:58
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: No puedo modificar una noticia a traves del Form en el servidor

No problem. Suele pasar.
Ya antes han preguntado por problemas parecidos y terminó siendo eso; como no está poniendo el "or die", no está recuperando errores y por eso no estoy muy seguro de cuál es exactamente elproblema.

Hay que esperar a ver qué es lo que contesta.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #15 (permalink)  
Antiguo 04/10/2011, 09:59
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Cita:
Iniciado por jana78 Ver Mensaje
Hola de nuevo, he estado mirando en la BD en el servidor y no se donde mirar esto de los permisos, solo se que todos los archivos con filezilla le di el nivel 777 pero no consigo modificar, mejor que escriba a los proveedores del hosting? o donde puedo mirar esto de los permisos, en que zona en phh myadmin, me podeis indicar?

Muchísimas gracias...

Jana
Por cierto, no es buena idea dar permisos 777 a todos los ficheros.
  #16 (permalink)  
Antiguo 04/10/2011, 10:08
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: No puedo modificar una noticia a traves del Form en el servidor

No a menos que quieras encontrarte sin archivos (osin web) en cualquier momento
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #17 (permalink)  
Antiguo 04/10/2011, 10:58
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola, muchas gracias por vuestras respuestas y he comprobado

Sí las variables host, user etc.. pongo las del servidor.

He probado lo que me has indicado con un echo y me devuelve esto:

UPDATE noticiascat SET titulo='prueba', fecha='prueba', texto='prueba' WHERE id_noticia=Query was empty



Jana
  #18 (permalink)  
Antiguo 04/10/2011, 11:25
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola de nuevo,

He provado tambien poniendo después del echo, mysql_error ()

$qry="UPDATE noticias SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia=$'id'";
echo $qry;
$consulta=mysql_query($qry,$conexion)or die(mysql_error());

Me devuelve esto:

UPDATE noticias SET titulo='prueba', fecha='prueba25', texto='"prueba"' WHERE id_noticia=$'id'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 ''id'' at line 1

A estas variales les he puesto una comilla simple, creo que és correcto.
$id= $_POST['id'];
$titulo= $_POST['titulo'];
$fecha= $_POST['fecha'];
$texto= $_POST['texto'];

Pero ponga o saque comillas no funciona.

Jana
  #19 (permalink)  
Antiguo 04/10/2011, 12:44
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: 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)
  #20 (permalink)  
Antiguo 04/10/2011, 14:02
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola, gracias por tu ayuda, al ver que no me realizaba el UPDATE por eso lo puse aqui...

Mira he estado mirando lo que me comentas, y el Id_noticia es numérico autoincrement...

Entonces pongo este código:

$qry="UPDATE noticias SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia = $id";

el id, al ser numérico sin las comillas como me dices me lanza el mismo error.

Jana
  #21 (permalink)  
Antiguo 04/10/2011, 14:12
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Perdon, me equivoque

probé tal cual me indicas:

$qry="UPDATE noticiascat SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia = '$id'";

i también he probado concatenando todo segun la segunda opción y no hay forma...

y me arroja el error de siempre:

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

No se que hacer...

Gracias por todas las respuestas y ayuda que me estais dando.

Jana
  #22 (permalink)  
Antiguo 04/10/2011, 18:47
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola,

He estado mirando y probando más cosas y en la red buscando en google, he leído que en el error que me daba anterior podria ser por no poner las comillas al revés,
bien lo he hecho, pero cuando parece que arreglo algo, surge otro error.

He procedido así:

$qry="UPDATE noticias SET titulo=`$titulo`, fecha=`$fecha`, texto=`$texto` WHERE id_noticia='$id'";

ya no me da el error anterior pero ahora me sale esto:

Unknown column 'TITULO PRUEBA' in 'field list', pertenece a la primera variable entiendo que es $titulo, pero ya no entiendo el porque, igual tambien debo incluir el id como campo... después del SET

Las variables post que recojo són
$id= $_POST['id'];
$titulo= $_POST['titulo'];
$fecha= $_POST['fecha'];
$texto= $_POST['texto'];

Podría ser eso, lo que me dice es que me falta la fila no?, esta todo correcto los nombres lo he comprobado con la base de datos y no se que puede ser... casi pensaba que lo iba resolviendo,

Gracias por vuestros aportes y ayuda, a ver si mañana doy con el error...

Jana
  #23 (permalink)  
Antiguo 04/10/2011, 19:55
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: No puedo modificar una noticia a traves del Form en el servidor

No. Los acentos inversos (`) se usan para encerrar nombres de bases, tablas, columnas, procedimientos almacenados, funciones almacenadas, triggers, events y todo otro objeto de base de datos creado con una sentencia CREATE.
No se usan jamás para el contenido de las cadenas de texto.

Sintetizando tu problema: No tienes ningún error de sintaxis propiamente dicho, porque la sentencia SQL está correctamente escrita. De eso no hay dudas.
Lo que puede estar sucediendo es que las variables que usas, o alguna de ellas contengan algo que al generar la cadena de la consulta le agregue caracteres que le generen un error de sintaxis.
Eso sucedería, por ejemplo, si una variable contuviese un apóstrofe, digamos "O'Toole"
Ese apóstrofe entre la O y la T haría que la definición de la cadena se cortase, produciendo un error sintáctico que no se puede ver.
Pero esas situaciones no se corrigen con el MySQL, eso lo tienes que ver en el Foro de PHP, que es donde conocen cómo resolver esas situaciones.

Ten en cuenta que siempre, siempre que se usan variables pueden existir errores así.

Detalle final: En una de tus respuestas copias esta parte del mensaje de MySQL:
Cita:
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
Ese mensaje está incompleto, por favor postea TODO el mensaje, porque luego del "near" mysql suele poner la última parte interpretada por el parser, y eso a veces nos sirve de guia para saber qué está pasando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #24 (permalink)  
Antiguo 06/10/2011, 12:09
 
Fecha de Ingreso: agosto-2010
Mensajes: 33
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: No puedo modificar una noticia a traves del Form en el servidor

Hola, primero muchas gracias por toda la ayuda, tomo nota de las comas y todo.

El tema estaba en lo que me decías, era que no me cogía bien la cadena... me faltaba poner a las variables addlashes, lo pego aquí por si también puede ayudar:

$id= $_POST['id'];
$titulo= addslashes($_POST['titulo']);
$fecha= addslashes($_POST['fecha']);
$texto= addslashes($_POST['texto']);

y en la parte del UPDATE, colocar el POST en el id.

$qry="UPDATE noticias SET titulo='$titulo', fecha='$fecha', texto='$texto' WHERE id_noticia='$_POST[id]'";

Así ya me modifica.

Gracias por todo el soporte.

Jana

Etiquetas: campos, modificar, noticia, php, query, registros, select, sql, tabla
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:39.