Foros del Web » Programando para Internet » PHP »

php no actualiza registro de mySql

Estas en el tema de php no actualiza registro de mySql en el foro de PHP en Foros del Web. Hola amigos. Tengo un problema, no sé que sucede que php no quiere actualizar un registro de la base de datos. He revisado en google; ...
  #1 (permalink)  
Antiguo 19/07/2006, 13:58
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 1
php no actualiza registro de mySql

Hola amigos.

Tengo un problema, no sé que sucede que php no quiere actualizar un registro de la base de datos. He revisado en google; he leido manuales, artículos artículos y lo hacen de la forma en que estoy tratando:

$sql="UPDATE personas SET nombres=$nom;
//Luego hago esto:
mysql_query($sql,$conexion);

No me genera algún error, simplemente no lo hace. Lo que sí me funciona es el registro y eliminación.

¿Alguna sugerencia? Gracias y disculpen...
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #2 (permalink)  
Antiguo 19/07/2006, 14:02
 
Fecha de Ingreso: marzo-2004
Ubicación: Sureste
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
Cita:
$sql="UPDATE personas SET nombres=$nom;
//Luego hago esto:
mysql_query($sql,$conexion);

No me genera algún error, simplemente no lo hace. Lo que sí me funciona es el registro y eliminación.
Has mirado eso que esté como:

Código PHP:
$sql="UPDATE personas SET nombres=$nom "
con las comillas al final????

Saludos!
  #3 (permalink)  
Antiguo 19/07/2006, 14:32
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 1
Sí, efectivamente lo tengo con las comillas

$sql="UPDATE personas SET nombres=$nom ";
//se supone que así lo haria con todos los campos nombres

//lo tengo de esta otra manera y tampoco:
$sql="UPDATE personas SET nombres=$nom where cedula=$ced";

Y me están llegando los parámetros
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado

Última edición por jorge25; 19/07/2006 a las 14:37
  #4 (permalink)  
Antiguo 19/07/2006, 14:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pon lo siguiente:

Código PHP:
mysql_query($sql,$conexion)or die(mysql_error()); 
He indicanos que error te esta arrogando.

Saludillos.

PD. ¿Estas realizando la conexion a la BD?
  #5 (permalink)  
Antiguo 19/07/2006, 15:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
De donde llega $nom ? .. OJO si es externa al script (que llega de un formulario o URL) .. en ese caso usar los arrays superglobales asociados: $_GET o $_POST según corresponda.

Por lo demás .. usa comillas en el dato en el SQL. Tampoco está de más usar mysql_real_escape_string() al dato que pasamos para evitar problemas de comillas, ñ y otros caracteres que podrían dar algún error.

La función mysql_error() también nos permitirá ver mensajes de error o conexión. (Asumimos que te conectas en ese script y generas tu $conexion ..).

Código PHP:
$sql="UPDATE personas SET nombres='".mysql_real_escape_string($nom)."'";
//Luego hago esto:
mysql_query($sql,$conexion) or die (mysql_error()); 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 20/07/2006, 07:16
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 1
Intenté de la siguiente manera:

mysql_query($sql,$conexion) or die (mysql_error());

y me dió el error: Unknown column 'carlos' in 'field list'
donde carlos es el nuevo nombre en el campo

luego probé así:

$sql="UPDATE personas SET nombres='".mysql_real_escape_string($nom)."'";
mysql_query($sql,$conexion) or die (mysql_error());

y me funcionó, solo que no sé por qué me está dando ese error si lo que estoy tratando de ingresar en la base de datos es una simple cadena de texto.

Otra pregunta, cómo hacen para que en el mensaje el código php se vea con colores. Gracias.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #7 (permalink)  
Antiguo 20/07/2006, 07:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por jorge25
Intenté de la siguiente manera:

mysql_query($sql,$conexion) or die (mysql_error());

y me dió el error: Unknown column 'carlos' in 'field list'
donde carlos es el nuevo nombre en el campo

luego probé así:

$sql="UPDATE personas SET nombres='".mysql_real_escape_string($nom)."'";
mysql_query($sql,$conexion) or die (mysql_error());

y me funcionó, solo que no sé por qué me está dando ese error si lo que estoy tratando de ingresar en la base de datos es una simple cadena de texto.

Otra pregunta, cómo hacen para que en el mensaje el código php se vea con colores. Gracias.
Ai no metes tu variable entre comillas en la sentencia SQL se asume tu $nom (su valor que toque) con un nombre de tabla o campo incluso ... por eso es tan necesario respetar la sintax de SQL ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 05:47.