Foros del Web » Programando para Internet » PHP »

Update fallido

Estas en el tema de Update fallido en el foro de PHP en Foros del Web. Hola muchachos. Estoy trabajando con registros en PHP con MySQL, y me ocurre un pequeño problema cuando quiero actualizar un campo desde un form. El ...
  #1 (permalink)  
Antiguo 07/07/2006, 18:48
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 1 mes
Puntos: 3
Update fallido

Hola muchachos.
Estoy trabajando con registros en PHP con MySQL, y me ocurre un pequeño problema cuando quiero actualizar un campo desde un form.

El problema es que borra el valor anterior, pero no inserta el nuevo. Y queda en blanco el campo. (Yo creo que el dato del form está mal tomado).

Este es el script que recoge los datos:
Código PHP:
mysql_connect("localhost","fi000328","654321");

mysql_select_db("BASE DE DATOS"); 

$sSQL="Update TABLA Set $Actualizar='$dato' Where Usuario='$Usuario'";
mysql_query($sSQL); 
$Actualizar es el dato que el usuario quiere actualizar, viene por URL.
$dato es el nuevo valor para el campo, es un dato recogido del form.
$Usuario también viene por URL.

Desde ya gracias.
  #2 (permalink)  
Antiguo 07/07/2006, 18:59
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
seguramente el error es que no se esta mandando el valor "dato" y por eso queda con un valor "vacio".

para ver si el valor llega o no imprimi la consulta antes de ejecutarla asi sabes si ese es el problema o no.

Código PHP:
$sSQL="Update TABLA Set $Actualizar='$dato' Where Usuario='$Usuario'";
echo 
$sSQL;
mysql_query($sSQL); 
un consejo es que no uses las variables como globales. sino asi:

Código PHP:
$sSQL="Update TABLA Set ".$_GET['Actualizar']."='".$_POST['dato']."' Where Usuario='".$_GET['Usuario']."'"
__________________
oohh... quisiera ser godines!!!
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 03:28.