Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Haciendo algo o todo mal con UPDATE

Estas en el tema de Haciendo algo o todo mal con UPDATE en el foro de PHP en Foros del Web. Buenos días, amigos, y gracias por vuestras aportaciones tan útiles. Mis conocimientos de php son muy limitados, de ahí que necesite ayuda para hacer aprender ...
  #1 (permalink)  
Antiguo 03/01/2014, 06:07
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Haciendo algo o todo mal con UPDATE

Buenos días, amigos, y gracias por vuestras aportaciones tan útiles. Mis conocimientos de php son muy limitados, de ahí que necesite ayuda para hacer aprender y hacer cosas, aunque sean básicas.

El caso es que en algo fallo con un código con el que intento la actualización de los campos de un registro en la base de datos. Por alguna razón que no acierto a entender, cuando envío los datos, me actualiza todos los registros, no sólo el que trato de seleccionar, es decir, a todos les copia la información que envío. ¿Alguien puede darme alguna idea de la razón?

<?php
------->conecto con la base de datos

include "conexion.php";

------->recojo los datos desde un formulario

$id=$_POST['id'];
$nombre=$_POST['nombre'];
$direccion=$_POST['direccion'];

------->doy las instrucción para la actualización

$sqlUpdate = mysql_query ("UPDATE registradas SET
nombre='$nombre', direccion='$direccion' WHERE num='$id', $link);

?>


Os agradezco cualquier ayuda.
  #2 (permalink)  
Antiguo 03/01/2014, 06:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Haciendo algo o todo mal con UPDATE

Ese PHP está mal copiado o está incompleto. La quer está mal cerrada, por lo que supongo que o no nos estás poniendo el código completo o lo has copiado mal.
Código PHP:
Ver original
  1. <?php
  2. ------->conecto con la base de datos
  3.  
  4. include "conexion.php";
  5.  
  6. ------->recojo los datos desde un formulario
  7.  
  8. $id=$_POST['id'];
  9. $nombre=$_POST['nombre'];
  10. $direccion=$_POST['direccion'];
  11.  
  12. ------->doy las instrucción para la actualización
  13.  
  14. $sqlUpdate = mysql_query ("UPDATE registradas SET
  15. nombre='$nombre', direccion='$direccion' WHERE num='$id', $link);
  16.  
  17. ?>
¿Ves cómo queda mal resaltado el código?
Bueno, eso es un problema.

En cualquiera de ambos caso, para que un UPDATE aplique sobre todos los registros no debe tener WHERE o bien las condiciones del mismo no son restrictivas, es decir, es una condición tal que la cumplen todos.
Habría que revisar concretamente cuál es la sintaxis con que queda armada la consulta al final.
Algo como:
Código PHP:
Ver original
  1. <?php
  2. ------->conecto con la base de datos
  3.  
  4. include "conexion.php";
  5.  
  6. ------->recojo los datos desde un formulario
  7.  
  8. $id=$_POST['id'];
  9. $nombre=$_POST['nombre'];
  10. $direccion=$_POST['direccion'];
  11.  
  12. ------->doy las instrucción para la actualización
  13.  
  14. $sql = "UPDATE registradas SET nombre='$nombre', direccion='$direccion' WHERE num='$id'";
  15. echo $sql; //Para que se visualice la sentencia armada.
  16.  
  17. ?>
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/01/2014, 06:51
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Haciendo algo o todo mal con UPDATE

La de vueltas que le he dado a esto. Me da vergüenza reconocerlo, pero...

Gracias por tomaros la molestia de contestar, desde vuestro nivel, esta clase de consultas.
  #4 (permalink)  
Antiguo 03/01/2014, 08:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Haciendo algo o todo mal con UPDATE



No te preocupes. Los errores más tontos se les escapan hasta a los expertos.
Lo mejor que puedes hacer es o tomarte un rato para hacer otra cosa antes de volver a mirar (descansar), o bien darselos a otro para que lo mire.
Nos pasa a todos: Cuando revisas tus propias cosas lees lo que sabes que debería estar, y no lo que realmente está.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: formulario, haciendo, mysql, registro, sql, todo, update
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 22:12.