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

 
Vista:
sin imagen de perfil

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
Val: 2.950
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

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

Publicado por kip (876 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
sin imagen de perfil

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