
Error al actualizar datos en base de datos
Publicado por Kevin (24 intervenciones) el 07/03/2017 02:29:44
Buen día amigos, me encuentro con un problema al intentar actualizar datos en mi base de datos, ya lleva mas de un día :S sin poder entender que estoy haciendo mal, les dejo abajo el código y mi error, les agradezco su ayuda, perdón.
Error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\xampp\htdocs\Administration\edit.php:101 Stack trace: #0 C:\xampp\htdocs\Administration\edit.php(101): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\Administration\edit.php on line 101
Y estos son los campos de mi tabla
Nombre
idproducto
nombretienda
marca
nombreproducto
tamanopeso
categoria
subcategoria
descripcion
existencia
precio
oferta
status
imagenproducto
ratingproducto
visitasproducto
creado
modificado
usuariouso
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php require_once 'header.php';
require_once 'phpfunctions/dbconfig.php';
if(isset($_GET['edit_id']) && !empty($_GET['edit_id']))
{
$id = $_GET['edit_id'];
$stmt_edit = $DB_con->prepare('SELECT * FROM productos WHERE idproducto =:uid');
$stmt_edit->execute(array(':uid'=>$id));
$edit_row = $stmt_edit->fetch(PDO::FETCH_ASSOC);
extract($edit_row);
if(isset($_POST['btn_save_updates']))
{
$nombretienda = "Test";
$marca = $_POST['marca'];
$nombreproducto = $_POST['nombreproducto'];
$tamanopeso = $_POST['tamanopeso'];
$categoria = $_POST['categoria'];
$subcategoria = $_POST['subcategoria'];
$descripcion = $_POST['descripcion'];
$existencia = $_POST['existencia'];
$precio = $_POST['precio'];
$oferta = $_POST['oferta'];
$status = $_POST['status'];
$usuario = "kevinmelendez";
$starsp = '5';
$modificado = date("Y-m-d H:i:s");
$imgFile = $_FILES['user_image']['name'];
$tmp_dir = $_FILES['user_image']['tmp_name'];
$imgSize = $_FILES['user_image']['size'];
$id= $_GET['edit_id'];
if($imgFile)
{
$upload_dir = 'user_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
$userpic = rand(1000,1000000).".".$imgExt;
if(in_array($imgExt, $valid_extensions))
{
if($imgSize < 2000000)
{
unlink($upload_dir.$edit_row['imagenproducto']);
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else
{
$errMSG = "Perdon, tu imagen es mayor a 2MB, por favor carga una con menos peso";
}
}
else
{
$errMSG = "Perdon, el formato que intentas cargar no esta permitido";
}
}
else
{
// if no image selected the old image remain as it is.
$userpic = $edit_row['imagenproducto'];
}
// if no error occured, continue ....
if(!isset($errMSG))
{
$stmt = $DB_con->prepare('UPDATE productos
SET marca=:umarca,
nombreproducto=:uproducto,
tamanopeso=:utamano,
categoria=:ucategoria,
subcategoria=:usubcategoria,
descripcion=:udescripcion,
existencia=:uexistencia,
precio=:uprecio,
oferta=:uoferta,
status=:ustatus,
modificado=:umodificado,
usuario=:uusuario,
imagenproducto=:upic
WHERE idproducto=:uid');
$stmt->bindParam(':uide',$id);
$stmt->bindParam(':umarca',$marca);
$stmt->bindParam(':uproducto',$nombreproducto);
$stmt->bindParam(':utamano',$tamanopeso);
$stmt->bindParam(':ucategoria',$categoria);
$stmt->bindParam(':usubcategoria',$subcategoria);
$stmt->bindParam(':udescripcion',$descripcion);
$stmt->bindParam(':uexistencia',$existencia);
$stmt->bindParam(':uprecio',$precio);
$stmt->bindParam(':uoferta',$oferta);
$stmt->bindParam(':ustatus',$status);
$stmt->bindParam(':upic',$userpic);
$stmt->bindParam(':umodificado',$modificado);
$stmt->bindParam(':uusuario',$usuario);
if($stmt->execute()){ // *****LINEA DEL ERROR****
?>
<script>
alert('Datos actualizados exitosamente');
window.location.href='index.php';
</script>
<?php
}
else{
$errMSG = "Perdon la información no se pudo actualizar!";
}
}
}
?>
Error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\xampp\htdocs\Administration\edit.php:101 Stack trace: #0 C:\xampp\htdocs\Administration\edit.php(101): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\Administration\edit.php on line 101
Y estos son los campos de mi tabla
Nombre
idproducto
nombretienda
marca
nombreproducto
tamanopeso
categoria
subcategoria
descripcion
existencia
precio
oferta
status
imagenproducto
ratingproducto
visitasproducto
creado
modificado
usuariouso
Valora esta pregunta


0