In my opinion everything goes Ok, but when it makes the sentence it gives me the following error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE [HY093]: Invalid parameter number: parameter was not defined' in /Applications/XAMPP/xamppfiles/htdocs/APP2/include/crud_usuario.php:119 Stack trace: # 0 /Applications/XAMPP/xamppfiles/htdocs/APP2/include/crud_usuario.php(119): PDOStatement-> execute () # 1 /Applications/XAMPP/xamppfiles/htdocs/APP2/include/administrar_usuario.php(42): CrudUsuario-> update (Object (User)) # 2 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/APP2/include/crud_usuario.php on line 119
public function actualizar($usuario){
$db = BaseDatos::conectar();
$actualizar = $db->prepare('UPDATE Usuario SET usuario=:usuario,contrasena=:contrasena,nombre=:nombre,apellido=:apellido,dni=:dni,email=:email,telefono=:telefono,direccion=:direccion,cod_postal=:cod_postal,fecha_nac=:fecha_nac,curso=:cruso,foto=:foto,estado=:estado,tipo=:tipo WHERE id_usuario=:id_usuario');
$actualizar->bindValue(':id_usuario', NULL);
$actualizar->bindValue(':nombre',$usuario->getNombre());
$actualizar->bindValue(':apellido',$usuario->getApellido());
$actualizar->bindValue(':dni',$usuario->getDni());
$actualizar->bindValue(':usuario',$usuario->getUsuario());
$actualizar->bindValue(':contrasena',$usuario->getContrasena());
$actualizar->bindValue(':email',$usuario->getEmail());
$actualizar->bindValue(':telefono',$usuario->getTel());
$actualizar->bindValue(':direccion',$usuario->getDireccion());
$actualizar->bindValue(':cod_postal',$usuario->getCodPostal());
$actualizar->bindValue(':fecha_nac',$usuario->getFechaNac());
$actualizar->bindValue(':curso',$usuario->getCurso());
$actualizar->bindValue(':foto',$usuario->getFoto());
$actualizar->bindValue(':estado',$usuario->getEstado());
$actualizar->bindValue(':tipo',$usuario->getTipo());
$actualizar->execute();
}