Bien, tengo una lista en la cual me muestra todos los registros, los cuales puedo actualizar o eliminar. Para actualizar utilizo el siguiente codigo php:
Código php:
Mi Base de datos es: control_estudios en mysqlVer original
<?php require_once('Connections/control_estudios.php'); ?> <?php function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": break; case "double": break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = $_SERVER['PHP_SELF']; } $colname_ObtenerUsuario = "text"; $colname_ObtenerUsuario = $_GET['contrasena']; } $query_ObtenerUsuario = sprintf("SELECT * FROM usuario WHERE contrasena = %s", GetSQLValueString($colname_ObtenerUsuario, "text")); // *** Redirecciona si el nombre de usuario existe //Array vacio //validar entrada al formulario $MM_flag="MM_update"; //comprobar nombre } //configurar un indicador que asume que la contraseña esta correcta $contbien=true; //Eliminar espacios en blanco al principio y al final //si el campo de contraseña esta vacio se utiliza la contraseña que esta en la base de datos $_POST['contrasena']=$row_ObtenerUsuario['contrasena']; } //en otro caso, realizar comprobacion normal else{ //Si tiene menos de 6 caracteres, creamos una alerta y configuramos el indicador como false $error['contrasena_tam']='La contraseña debe tener por lo mìnimo 6 caracteres'; $contbien=false; } //Si la contraseña esta bien la encriptamos if ($contbien){ } } //comprobar nombre de usuario $loginUsername = $_POST['utiliza_nombre']; $loginUsername = $_POST['utiliza_nombre']; $error['utiliza_nombre_tam']='El nombre de usuario debe tener por lo mìnimo 6 caracteres'; } $LoginRS__query = sprintf("SELECT utiliza_nombre FROM usuario WHERE utiliza_nombre=%s AND contrasena !=" .$_POST['contrasena'], GetSQLValueString($loginUsername, "text")); //if there is a row in the database, the username was found - can not add the requested username if($loginFoundUser){ $error['utiliza_nombre']="$loginUsername ya està en uso. Por favor, elige un nombre de usuario diferente."; } } if (!$error){ $updateSQL = sprintf("UPDATE usuario SET ci_usuario=%s, nombre_usuario=%s, apellido_usuario=%s, direccion_usuario=%s, telefono_usuario=%s, cargo_usuario=%s, foto_usuario=%s, utiliza_nombre=%s WHERE contrasena=%s", GetSQLValueString($_POST['ci_usuario'], "text"), GetSQLValueString($_POST['nombre_usuario'], "text"), GetSQLValueString($_POST['apellido_usuario'], "text"), GetSQLValueString($_POST['direccion_usuario'], "text"), GetSQLValueString($_POST['telefono_usuario'], "int"), GetSQLValueString($_POST['cargo_usuario'], "text"), GetSQLValueString($_POST['foto_usuario'], "text"), GetSQLValueString($_POST['utiliza_nombre'], "text"), GetSQLValueString($_POST['contrasena'], "text")); $updateGoTo = "lista_usuarios.php"; $updateGoTo .= $_SERVER['QUERY_STRING']; } } } ?>
Mi tabla:usuario
y la clave primaria:contrasena
El problema esta, cuando intento actualizar mi registro y me pasa a otra pagina con lo siguiente:
Unknown column '2485a8b02e2686701a8a0f501eb51a274e9aa335' in 'where clause'
y no se a que se deba......por favor............ayudaaaaaaaaaaaa:' (