Foros del Web » Programando para Internet » PHP »

Midificar datos en db

Estas en el tema de Midificar datos en db en el foro de PHP en Foros del Web. Buenas, estoy comenzando a trabajar con bases de datos y quería crear un formulario para modificar datos existentes, por algún motivo no logro poder realizarlo. ...
  #1 (permalink)  
Antiguo 08/09/2008, 08:03
Avatar de Panicav  
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario, Santa Fe - Argentina.
Mensajes: 135
Antigüedad: 16 años, 3 meses
Puntos: 8
Pregunta Midificar datos en db

Buenas, estoy comenzando a trabajar con bases de datos y quería crear un formulario para modificar datos existentes, por algún motivo no logro poder realizarlo. Este es mi codigo:

Código PHP:
<?
include "conexion.php";

if (!isset(
$accion)){
  
$result=mysql_query("SELECT * FROM datos WHERE id = $id",
    
$conexion);
  
$row=mysql_fetch_row($result);
  echo
"<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
  <form action=\"actualizar.php?accion=guardar\" method=\"POST\">
  Titulo:<br>
  <input type=\"text\" value=\"$row[1]\" name=\"titulo\"><br>
  Texto:<br>
  <input type=\"text\" value=\"$row[2]\" name=\"texto\"><br>
  Imagen:<br>
  <input type=\"text\" value=\"$row[3]\" name=\"imagen\"><br>
  <input type=\"hidden\" name=\"id\" value=\"$row[0]\">
  <input type=\"submit\" value=\"Guardar\">
  </form>
  </body>
  </html>"
;
}elseif(
$accion == guardar){
  
$result=mysql_query("UPDATE datos SET titulo=$titulo,
    texto=$texto, imagen=$imagen WHERE id=$id"
,$conexion);
  echo
"
  <html>
  <body>
  <h3>Modificados OK</h3>
  </body>
  </html>"
;
}
include 
"cerrar_conexion.php";
?>

Gracias de antemano!
  #2 (permalink)  
Antiguo 08/09/2008, 09:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Midificar datos en db

Hola Panicav,

¿Que error te da exactamente? Por un lado veo que asumes el uso de register_globals (busca en el foro), por lo que si las tienes desactivadas necesitas usar $_POST para manejar los valores.

Saludos.
  #3 (permalink)  
Antiguo 08/09/2008, 11:05
Avatar de Panicav  
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario, Santa Fe - Argentina.
Mensajes: 135
Antigüedad: 16 años, 3 meses
Puntos: 8
Respuesta: Midificar datos en db

Gracias por responder, tengo la función register_globals activada, no me tira ningún error pero no me modifica los datos de la db, pero no me tira ningún error.
  #4 (permalink)  
Antiguo 08/09/2008, 11:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Midificar datos en db

Prueba esto:
Código PHP:
$result=mysql_query("UPDATE datos SET titulo=$titulo,
    texto=$texto, imagen=$imagen WHERE id=$id"
,$conexion) or die( mysql_error() ); 
Saludos.
  #5 (permalink)  
Antiguo 08/09/2008, 13:55
Avatar de Panicav  
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario, Santa Fe - Argentina.
Mensajes: 135
Antigüedad: 16 años, 3 meses
Puntos: 8
Respuesta: Midificar datos en db

Creo que tengo un problema con mi base de datos, el error que me muestra es el siguiente:

"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 ' texto = , image = , WHERE id=1' at line 1"
  #6 (permalink)  
Antiguo 08/09/2008, 15:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Midificar datos en db

Te esta diciendo que tienes un error de sintaxis, prueba poner los campos entre comillas, y por lo que veo no esta pasando las variables, si te fijas estan en blanco.

Saludos.
  #7 (permalink)  
Antiguo 08/09/2008, 17:16
Avatar de Panicav  
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario, Santa Fe - Argentina.
Mensajes: 135
Antigüedad: 16 años, 3 meses
Puntos: 8
De acuerdo Respuesta: Midificar datos en db

Desde ya muchas gracias por tu interes, logre acomodar el código, solo que no me modifica la data de la db sino que me la borra, el codigo me quedó de la siguiente manera:

Código PHP:
$result mysql_query("UPDATE datos set titulo = '$titulo', texto = '$texto', imagen = '$imagen' WHERE (id = '$id')"
    
$conexion
  #8 (permalink)  
Antiguo 10/09/2008, 11:21
Avatar de Panicav  
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario, Santa Fe - Argentina.
Mensajes: 135
Antigüedad: 16 años, 3 meses
Puntos: 8
De acuerdo Resuelto

el problema lo tenia por esto
Código PHP:
titulo='$titulo'
lo reemplace por
Código PHP:
titulo='$otro_que _no sea_titulo'
un error de inexperiencia, muy agradecido por la ayuda prestada!
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:44.