PHP - La instrucción de sql UPDATE inserta un nuevo registro en lugar de actualizar

   
Vista:

La instrucción de sql UPDATE inserta un nuevo registro en lugar de actualizar

Publicado por Ramón (11 intervenciones) el 27/07/2016 18:28:52
Buenas tardes.

Esto es cosa de locos. Ejecuto una consulta UPDATE y en lugar de actualizar el registro me inserta uno nuevo.
Este es el código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if(isset($_POST['guardar'])){
    if(!empty($_POST['nombreAlu'])){
      $cadena="nombre='".$_POST['nombreAlu']."'";
    } else {
      $cadena="";
    }
    if(!empty($_POST['apellido1Alu'])){
      $cadena.="apellido1='".$_POST['apellido1Alu']."'";
    }
    if(!empty($_POST['apellido2Alu'])){
      $cadena.="apellido2='".$_POST['apellido2Alu']."'";
    }
    if(!empty($_POST['apellido1Alu'])){
      $cadena.="apellido1='".$_POST['apellido1Alu']."'";
    }
    if(!empty($_POST['cursoAlu'])){
      $cadena.="curso='".$_POST['cursoAlu']."'";
    }
    $cadena.="WHERE idnombre='".$_POST['idnombre']."'";
    $sql="UPDATE alumnos SET $cadena";
    $resultado = $con->query($sql) or die($con->error);
    $con->close();
}

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

La instrucción de sql UPDATE inserta un nuevo registro en lugar de actualizar

Publicado por kip (562 intervenciones) el 28/07/2016 02:05:34
Hola, debes colocar el UPDATE con una clausula WHERE para identificar en que fila deseas actualizar dicho campo, alho asi:

1
$sql="UPDATE alumnos SET '$cadena' WHERE campo = '$igualesto' ";

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

La instrucción de sql UPDATE inserta un nuevo registro en lugar de actualizar

Publicado por Ramón (11 intervenciones) el 28/07/2016 08:40:53
Ok.

Tienes razón, se me había olvidado poner el WHERE.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar