Hola a todos.
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:
Ver original<?php require_once('Connections/control_estudios.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ?
intval($theValue) : "NULL"; break;
case "double":
$theValue = ($theValue != "") ?
"'" . doubleval($theValue) . "'" : "NULL"; break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); }
$colname_ObtenerUsuario = "text";
if (isset($_GET['contrasena'])) { $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";
if (isset($_POST[$MM_flag])) { //comprobar nombre
if (empty($_POST['apellido_usuario'])||empty($_POST['nombre_usuario'])||empty($_POST['ci_usuario'])||empty($_POST['contrasena'])||empty($_POST['direccion_usuario'])||empty($_POST['telefono_usuario'])){$error['datos']='Por favor, escribe los datos que aprecen con un asterisco. Son obligatorios'; }
//configurar un indicador que asume que la contraseña esta correcta
$contbien=true;
//Eliminar espacios en blanco al principio y al final
$_POST['contresena']=trim($_POST['contrasena']); //si el campo de contraseña esta vacio se utiliza la contraseña que esta en la base de datos
if (empty($_POST['contrasena'])) { $_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
if (strlen($_POST['contrasena'])<6){ $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){
$_POST['contrasena']=sha1($_POST['contrasena']); }
}
//comprobar nombre de usuario
$_POST['utiliza_nombre']=trim($_POST['utiliza_nombre']); $loginUsername = $_POST['utiliza_nombre'];
$loginUsername = $_POST['utiliza_nombre'];
if (strlen($_POST['utiliza_nombre'])<6){ $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){
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $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";
if (isset($_SERVER['QUERY_STRING'])) { $updateGoTo .= (strpos($updateGoTo, '?')) ?
"&" : "?"; $updateGoTo .= $_SERVER['QUERY_STRING'];
}
}
}
?>
Mi Base de datos es: control_estudios en mysql
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





:' (