Foros del Web » Programando para Internet » PHP »

php actualizar datos mysql

Estas en el tema de php actualizar datos mysql en el foro de PHP en Foros del Web. hola! estoy actualizando una info en mi bd, casi todo sale bien el problema es que solo me actualiza los campos que contienen numeros, la ...
  #1 (permalink)  
Antiguo 16/08/2012, 17:30
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 12 años, 4 meses
Puntos: 2
Pregunta php actualizar datos mysql

hola! estoy actualizando una info en mi bd, casi todo sale bien el problema es que solo me actualiza los campos que contienen numeros, la variable EXP es un campo de texto y es la unica que no me actualiza en la base de datos, hasta hice un echo EXP para ver si me estaba jalando la informacion y si la jala, el problema es que no me la actualiza.. que puede ser?


$registro=mysql_query("select ".$EXP.", ".$AP." , ".$A." from ".$PB." where ".$NG."='$_POST[r1]'");

while($reg=mysql_fetch_array($registro)){
echo $reg["$EXP"];

mysql_query("UPDATE ".$MC." SET $EXP=".$reg["$EXP"]." WHERE ".$NG."=1 ", $conexion);
mysql_query("UPDATE ".$MC." SET $AP=".$reg["$AP"]." WHERE ".$NG."=1 ", $conexion);
mysql_query("UPDATE ".$MC." SET $A=".$reg["$A"]." WHERE ".$NG."=1 ", $conexion);

}
  #2 (permalink)  
Antiguo 16/08/2012, 18:05
Avatar de topo_bionico  
Fecha de Ingreso: junio-2012
Mensajes: 89
Antigüedad: 12 años, 5 meses
Puntos: 20
Respuesta: php actualizar datos mysql

Te falta agregar las comillas simples para que tome el valor como texto y no como nombre de funciones.

Código PHP:
Ver original
  1. $registro=mysql_query("select ".$EXP.", ".$AP." , ".$A." from ".$PB." where ".$NG."='$_POST[r1]'");
  2.  
  3. while($reg=mysql_fetch_array($registro)){
  4. echo $reg["$EXP"];
  5.  
  6. mysql_query("UPDATE ".$MC." SET $EXP='".$reg["$EXP"]."' WHERE ".$NG."=1 ", $conexion);
  7. mysql_query("UPDATE ".$MC." SET $AP='".$reg["$AP"]."' WHERE ".$NG."=1 ", $conexion);
  8. mysql_query("UPDATE ".$MC." SET $A='".$reg["$A"]."' WHERE ".$NG."=1 ", $conexion);
  9.  
  10. }
  #3 (permalink)  
Antiguo 16/08/2012, 18:10
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: php actualizar datos mysql

Lo que pasa es que no encierras los valores entre apostrofes:

Código PHP:
Ver original
  1. mysql_query("UPDATE ".$MC." SET $EXP=".$reg["$EXP"]." WHERE ".$NG."=1 ", $conexion);

debería ser

Código PHP:
Ver original
  1. mysql_query("UPDATE ".$MC." SET $EXP='".$reg["$EXP"]."' WHERE ".$NG."=1 ", $conexion);

o bien

Código PHP:
Ver original
  1. mysql_query("UPDATE $MC SET $EXP='".$reg[$EXP]"' WHERE $NG='1'", $conexion);

o mejor aún:

Código PHP:
Ver original
  1. mysql_query("UPDATE $MC SET $EXP='".$reg[$EXP]"',$AP='".$reg[$AP]"',$A='".$reg[$A]"'  WHERE $NG='1'", $conexion);


Los valores de texto SIEMPRE deben ser encerrados entre apostrofes:

Código PHP:
Ver original
  1. mysql_query("update mitabla set campo1=$texto where id=1");//MAL
  2.  
  3. mysql_query("update mitabla set campo1='$texto' where id=1");//BIEN
Siempre puedes encerrar los valores entre apostrofes, no importa si son de tipo numérico.








Y ahora viene Pepef a recomendar mysqli
  #4 (permalink)  
Antiguo 16/08/2012, 18:39
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: php actualizar datos mysql

excelente los dos, ese era el problema se los agradezco mucho!
  #5 (permalink)  
Antiguo 16/08/2012, 20:32
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 12 años, 3 meses
Puntos: 60
Respuesta: php actualizar datos mysql

Cita:
Iniciado por ocp001a Ver Mensaje
y ahora viene pepef a recomendar mysqli
:-p xD!
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker

Etiquetas: mysql
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 12:57.