PHP - Problemas con un UPDATE de un CRUD

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 55 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas con un UPDATE de un CRUD

Publicado por Luis (4 intervenciones) el 30/06/2020 18:18:18
He estado intentar solucionar un problema con mi código, ya que en este modulo de actualizar no realiza ningún cambio ni me marca un error. Espero y puedan echarme una mano.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
	include_once 'conexion.php';
 
	if(isset($_GET['id'])){
		$id=(int) $_GET['id'];
 
		$buscar_id=$con->prepare('SELECT * FROM especi WHERE id=:id LIMIT 1');
		$buscar_id->execute(array(
			':id'=>$id
		));
		$resultado=$buscar_id->fetch();
	}else{
		header('Location: index.php');
	}
 
 
	if(isset($_POST['guardar'])){
		$codigo=$_POST['codigo'];
		$estudio=$_POST['estudio'];
		$metodologia=$_POST['metodologia'];
		$muestra=$_POST['muestra'];
		$condiciones=$_POST['condiciones'];
		$interferencias=$_POST['interferencias'];
		$estabilidad=$_POST['estabilidad'];
		$proceso=$_POST['proceso'];
		$precio=$_POST['precio'];
		$lr=$_POST['lr'];
		$id=(int) $_GET['id'];
 
		if(!empty($codigo) && !empty($estudio) && !empty($metodologia) && !empty($muestra) && !empty($condiciones) ){
			$consulta_update=$con->prepare(' UPDATE especi SET
			codigo=:codigo,
			estudio=:estudio,
			metodologia=:metodologia,
			muestra=:muestra,
			condiciones=:condiciones,
			interferncias=:interferencias,
			estabilidad=:estabilidad,
			proceso=:proceso,
			precio=:precio,
			lr=:lr
			WHERE id=:id;'
		);
		$consulta_update->execute(array(
			':codigo' =>$codigo,
			':estudio' =>$estudio,
			':metodologia' =>$metodologia,
			':muestra' =>$muestra,
			':condiciones' =>$condiciones,
			':interferencias' =>$interferencias,
			':estabilidad' =>$estabilidad,
			':proceso' =>$proceso,
			':precio' =>$precio,
			':lr' =>$lr,
			':id' =>$id
		));
		header('Location: index.php');
			}else{
			echo "<script> alert('Los campos estan vacios');</script>";
		}
	}
 
?>
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 javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas con un UPDATE de un CRUD

Publicado por javier (547 intervenciones) el 30/06/2020 23:29:14
hola,
que hay en conexion.php?

solo veo metodos aplicados a objetos pero no se de que clase, msqli o PDO?

no estas intentando capturar los errores posibles al interactuar con la base de datos, tu script se limita a hacer un UPDATE pero en ningun momento compruebas si lo hace o no y tampoco los errores de msqli o PDO.

con este IF

1
if(!empty($codigo) && !empty($estudio) && !empty($metodologia) && !empty($muestra) && !empty($condiciones)

no puedes decir que todos los campos estan vacios por que por uno solo da por vacios todos, compruebalos uno a uno si estan vacios o no y vas armando un array de posibles campos vacios, asi al user le podras decir que campos se dejó vacios.

ahh, y en esta linea.

1
$id=(int) $_GET['id'];
yo no haria esa conversion explicita a integer (int) a la variable $id, te podria dar error fatal y detener tu script, lo que haria mejor seria:

1
2
3
4
5
6
7
8
9
10
if(is_int($_GET['id'])){
 
$id = $_GET['id']
}else{
 
//haz otra cosa, una redireccion o algo por si el id no es integer (int)
}
 
 
saludos

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