Foros del Web » Programando para Internet » PHP »

haber si alguien me puede ayudar al modificar datos a una bd

Estas en el tema de haber si alguien me puede ayudar al modificar datos a una bd en el foro de PHP en Foros del Web. hola a todos solo queria que me ayudaran lo que pasa es que quiero modificar los datos de una bd pero me marca error no ...
  #1 (permalink)  
Antiguo 22/04/2009, 10:44
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
haber si alguien me puede ayudar al modificar datos a una bd

hola a todos solo queria que me ayudaran
lo que pasa es que quiero modificar los datos de una bd pero me marca error
no se si estoy haciendo el codigo mal miren aqui esta el codigo que utilize

Código PHP:
$link mysql_connect("localhost","----","-----");
        
mysql_select_db("--------",$link);

              
mysql_query("UPDATE usuarios 
(nombre,dianac,mesnac,anonac,nacimiento,edad,curp,direccion,telefono,nombremadre,mlugartrabajo,mteltrabajo,mingresoneto,nombrepadre,plugartrabajo,pteltrabajo,pingresoneto,padecimientos,alergias,seguro,numseguro,emergencia,telemer,nomref1,telref1,nomref2,telref2,nomref3,telref3,sala,diareg,mesreg,anoreg)
        VALUES 
('{$_POST['nombre']}','{$_POST['dianac']}','{$_POST['mesnac']}','{$_POST['anonac']}','{$_POST['nacimiento']}','{$_POST['edad']}','{$_POST['curp']}','{$_POST['direccion']}','{$_POST['telefono']}','{$_POST['nombremadre']}','{$_POST['mlugartrabajo']}','{$_POST['mteltrabajo']}','{$_POST['mingresoneto']}','{$_POST['nombrepadre']}','{$_POST['plugartrabajo']}','{$_POST['pteltrabajo']}','{$_POST['pingresoneto']}','{$_POST['padecimientos']}','{$_POST['alergias']}','{$_POST['seguro']}','{$_POST['numseguro']}','{$_POST['emergencia']}','{$_POST['telemer']}','{$_POST['nomref1']}','{$_POST['telref1']}','{$_POST['nomref2']}','{$_POST['telref2']}','{$_POST['nomref3']}','{$_POST['telref3']}','{$_POST['sala']}','{$_POST['diareg']}','{$_POST['mesreg']}','{$_POST['anoreg']}')"
,$link); 
estos son los datos que mando de el formulario done me muestra los datos que tengo en la bd y al modificarlos en dicho formulario lo envio a modificar.php pero me sale error al querer modificarlos y no entiendo cual es el error
por fas ya me quebre la cabeza y no hallo cuall es el error mil gracias...
  #2 (permalink)  
Antiguo 22/04/2009, 10:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

¿Que error te muestra?

Saludos.
  #3 (permalink)  
Antiguo 22/04/2009, 11:20
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

este

Ha habido un error al modificar los valores. 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 '(nombre,dianac,mesnac,anonac,nacimiento,edad,curp ,direccion,telefono,nombremadre' at line 1
  #4 (permalink)  
Antiguo 22/04/2009, 11:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

Es que la sintaxis de UPDATE no es la misma que INSERT. La sintaxis correcta sería:
Código MySQL:
Ver original
  1. UPDATE tabla SET campo = valor, campo2 = valor, campo3 = valor; # Así sucesivamente
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 22/04/2009, 11:26
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

me podrias poner el ejemplo pero con mi codigo
es que no se donde van
  #6 (permalink)  
Antiguo 22/04/2009, 11:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

Si lo intentas por ti mismo, seguro que aprenderás más.

Sólo tienes que actualizar todos los campos que haga falta en SET.

Puedes consultar el manual para más información:
http://dev.mysql.com/doc/refman/5.0/es/update.html

Cualquier duda puntual, nos comentas y trataremos de ayudarte.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 22/04/2009, 11:43
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
es que si es muy diferente insert y update
y pues ahi ya cambio todo lo que no se es donde va la sentencia que tengo

o si tengo que quitar todo eso y volver a colocar algo nuevo junto con la sentencia de update

me voy a tardar pero voy a hacer lo posible por entenderlo
gracias por contestar

Cita:
Iniciado por David el Grande Ver Mensaje
Es que la sintaxis de UPDATE no es la misma que INSERT. La sintaxis correcta sería:
Código MySQL:
Ver original
  1. UPDATE tabla SET campo = valor, campo2 = valor, campo3 = valor; # Así sucesivamente
ya lo hice asi pero no hace los cambios

Código PHP:
mysql_query("UPDATE usuarios SET nombre=nombre;",$link); 

Última edición por GatorV; 22/04/2009 a las 12:54
  #8 (permalink)  
Antiguo 22/04/2009, 12:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

Es que en ese caso estás asignando el campo nombre al campo nombre .

Además, debes tener en cuenta que si no especificas ningún filtro, la sentencia UPDATE acutalizará TODOS los campos.

Supongamos que tienes en la variable $nombre el nuevo nombre. Entonces debería ser:
Código MySQL:
Ver original
  1. UPDATE usuarios SET nombre='$nombre';
Pero repito, eso actualizará todos los campos, si no quieres que eso suceda, debes usar un filtro (WHERE)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 22/04/2009, 12:55
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

Cita:
Iniciado por David el Grande Ver Mensaje
Es que en ese caso estás asignando el campo nombre al campo nombre .

Además, debes tener en cuenta que si no especificas ningún filtro, la sentencia UPDATE acutalizará TODOS los campos.

Supongamos que tienes en la variable $nombre el nuevo nombre. Entonces debería ser:
Código MySQL:
Ver original
  1. UPDATE usuarios SET nombre='$nombre';
Pero repito, eso actualizará todos los campos, si no quieres que eso suceda, debes usar un filtro (WHERE)
entonces para que no cambie todos los campos seria asi?

Código PHP:
UPDATE usuarios SET nombre='$nombre' WHERE nombre='$nombre'
  #10 (permalink)  
Antiguo 22/04/2009, 12:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

Primero, debes definir qué registro deseas modificar, y qué dato es el que deseas modificar.

Además, debes "leer" las consultas y entender qué hacen. Fíjate que esa última consulta dice:
ACTUALIZE la tabla "usuarios", cambie el campo nombre por '$nombre' donde nombre es igual a '$nombre' (lo cual no tiene sentido)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 22/04/2009, 13:16
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

lo que pasa es que tengo un formulario donde con php extrae los datos de la tabla con los datos
y a cada campo de texto le asigne el codigo segun la busqueda mira

Código:
<input name="nombre" type="text" id="nombre" value="<?php echo $vardirec1; ?>" size="60" maxlength="60">
entonces lo que muestra el campo nada mas se lo cambio por lo nuevo y lo envio y el codigo de UPDATE que quiero hacer recibe lo que cambie del campo de texto

este es todo el codigo completo que tengo de update
Código PHP:
<?php
        $link 
mysql_connect("localhost","---","---");
        
mysql_select_db("---",$link);


       
mysql_query("UPDATE usuarios SET nombre='$nombre' WHERE nombre='$nombre';",$link);


        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al modificar los valores. $my_error"

        } else {

            echo 
"Los datos han sido modificados satisfactoriamente, haz click ".'<a href="javascript:history.back(1)">
Aqui</a>'
." para modificar otros datos" ;

        }
?>
no se si $nombre lo tengo que tener en este mismo codigo o es el nombre del campo de texto que viene del formulario

persona mi ignorancia pero es que aprendo mas asi que leyendo codigos que no he mirado y pues los que voy haciendo los estudio y me los se, ya tengo todo anadir y eliminar y si lo entiendo, solo me falta modificar
  #12 (permalink)  
Antiguo 22/04/2009, 13:18
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

En tu tabla deberías tener un campo id o usuarios_id o algo similar el cual sea la clave primaria y te permita identificar a cada registro con un valor unico, ese campo es el que vas a usar en el where de la consulta
  #13 (permalink)  
Antiguo 22/04/2009, 15:06
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

Tienes que definir, si tu lo que quieres es modificar o insertar datos, para hacer los que estas haciendo tienes que tener una condicion al final, traducido sería:

actualizame campo1=valonuevocampo1, campo2=valonuevocampo2 donde uncampo=unvalor;

Traducido el código:

UPDATE usuarios SET nombre='$nombre' WHERE idnombre= '$idnombre';

Saludos.
  #14 (permalink)  
Antiguo 23/04/2009, 09:34
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

pero ahi lo que no entiendo es porque $idnombre

lo que pasa es que tengo un formulario que le puse a cada campo de texto una sentencia que cuando coloco el nombre del alumno me muestra los datos en los campo de texto, es este

Cita:
<input name="nombre" type="text" id="nombre" value="<?php echo $vardirec1; ?>" size="60" maxlength="60">
y vardirec tiene este codigo

Cita:
$vardirec1 = "".$rowEmp['nombre']."";
no se si este codigo le este afectando

y este es el codigo que estoy usando para update

Código PHP:
<?php


        $link 
mysql_connect("localhost","---","---");
        
mysql_select_db("---",$link);

        
// Con esta sentencia SQL insertaremos los datos en la base de datos
       
mysql_query("UPDATE usuarios SET nombre='$nombre' WHERE nombre='$nombre';",$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al modificar los valores. $my_error"

        } else {

            echo 
"Los datos han sido modificados satisfactoriamente, haz click ".'<a href="javascript:history.back(1)">
Aqui</a>'
." para modificar otros datos";

        }
?>
no sean malos por fas ayudenme ya me rompi la cabeza y no lo puedo solucionar y es lo unico que me falta para terminar con mi pagina de guarderia
gracias...
  #15 (permalink)  
Antiguo 23/04/2009, 10:54
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: haber si alguien me puede ayudar al modificar datos a una bd

no cher1_7, el campo para usar en el WHERE no puede ser el nombre, primero porque dos personas se pueden llamar igual y tendrias un conflicto para editar alguna de las dos y segundo porque es un campo que estas editando. Ash_AM te dio el ejemplo con un supuesto campo dinombre y yo te habia dicho algo similar pero con id o usuario_id, buscá mas informacion sobre claves primarias y creá una en tu tabla.

Luego que tengas un campo como clave primaria lo podes guardar en tu formulario en un campo oculo
Código html:
Ver original
  1. <input type="hidden" name="usuario_id" value="<?php echo $rowEmp['usuario_id']?>">
y usarlo como criterio en el WHERE
Código sql:
Ver original
  1. WHERE usuario_id=$usuario_id
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 00:41.