I am trying to allow my users to update their own profile info. Yet, the query is empty(Nothing recorded into the database though it states "Your profile has been updated!")
What did I do wrongly?

userlist.php is where my list of users are displayed


Code:
<?php
    
    include ('connect.php')
    
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    	<div>
    		<?php 
    		foreach(fetch_users() as $user) {
    		?>
    			<p><a href="profile.php?id=<?php echo $user['id'];?>"><?php echo $user['username']; ?></a></p>
    		<?php 
    		}
    		?>
    	</div>
    </body>
    </html>
userinc.php is used to store all functions

Code:
    <?php
    
    function fetch_users() {
    	$result = mysql_query("SELECT `user_id` AS `id`, `user_name` AS `username`, `email` AS `email`, `description` AS `description` FROM `userprofile`");
    	
    	$users = array();
    	
    	while (($row = mysql_fetch_assoc($result)) !== false) {
    		$users[] = $row;
    	}
    	
    	return $users;
    }
    
    // fetch profile info for the given user
    function fetch_user_info($id) {
    	$id = (int)$id;
    	$sql = "SELECT `user_id` AS `id`, `user_name` AS `username`, `email` AS `email`, `description` AS `description` FROM `userprofile` WHERE `user_id` = '$id'";
    	$result = mysql_query($sql);
    	
    	return mysql_fetch_assoc($result);
    }
    
    // update the current users profile info
    function set_profile_info($username, $email, $description){
    	$username = mysql_real_escape_string(htmlentities($username));
    	$email = mysql_real_escape_string(nl2br(htmlentities($email)));
    	$description = mysql_real_escape_string(htmlentities($description));
    
    	$sql = "UPDATE `userprofile` SET `user_name` = $username
    									 `email` = $email
    									 `description` = $description
    								WHERE user_id =". $_GET['id'];
    	
    	mysql_query($sql);
    
    }
    
    if(!mysql_query($sql)) {
    	die ('Error: '. mysql_error());
    }
    ?>
profile.php


Code:
<?php
    
    include ('connect.php');
    $user_info = fetch_user_info($_GET['id']);
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Profile Information</title>
    </head>
    <body>
    	<div>
    		<?php 
    		
    		if($user_info == false){
    			echo 'That user does not exist.';
    		}
    		else {
    		?>
    			<h1>Profile</h1>
    			<p>Username: <?php  echo $user_info['username']; ?> </p>
    			<p>Email: <?php echo $user_info['email']; ?></p>
    			<p>Description: <?php echo $user_info['description']; ?></p>
    		<?php 
    		}
    		?>
    	</div>
    	<div>
    			<p><a href="editprofile.php?id=<?php echo $user_info['id'];?>">Edit</a></p>
    	</div>
    </body>
    </html>
editprofile.php


Code:
<?php
    
    include ('connect.php');
    
    if (isset($_POST['username'], $_POST['email'], $_POST['description'])) {
    	$errors = array();
    	
    	if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
    		$errors[] = 'Invalid email address!';
    	}
    	
    	if (empty($errors)) {
    		set_profile_info($_POST['username'],$_POST['email'], $_POST['description']);
    	}
    	
    	$user_info = array(
    	'username' => htmlentities($_POST['username']),
    	'email' => htmlentities($_POST['email']),
    	'description' => htmlentities($_POST['description'])
    	) ;
    	
    }
    
    else {
    $user_info = fetch_user_info($_GET['id']); //change to $_SESSION once the user is logged in, successfully
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <style type = "text/css">
    	form { margin: 10px 8px 8px 8px; }
    	form div { float: left; clear: both; margin: 0px 0px 4px 0px; }
    	label { float: left; width: 100px; }
    	input[type = "text"], textarea { float: left; width: 400px; }
    	input[type = "submit"] { margin: 18px 8px 0px 100px }
    </style>
    <title>Edit Your Profile</title>
    </head>
    <body>
    	<div>
    		<?php 
    		
    		if (isset($errors) == false){
    			echo 'Click update to edit your profile.';
    		}
    		else if (empty($errors)){
    			echo 'Your profile has been updated!';
    		}
    		else {
    			echo '<ul><li>', implode('</li><li>', $errors), '</li></ul>';
    		}
    		
    		?>
    	</div>
    	<form action = "" method = "post">
    		<div>
    			<label for = "username">Username:</label>
    			<input type = "text" name = "username" id = "username" value = "<?php echo $user_info['username']; ?>" />
    		</div>
    		<div>
    			<label for = "email">Email:</label>
    			<input type = "text" name = "email" id = "email" value = "<?php echo $user_info['email']; ?>" />
    		</div>
    		<div>
    			<label for = "description">Description:</label>
    			<textarea name = "description" id = "description" rows = "14" cols = "50"><?php echo strip_tags($user_info['description']); ?></textarea>
    		</div>
    		<div>
    			<input type = "submit" value = "Update" />
    		</div>
    	</form>
    </body>
    </html>

HELP PLEASE