The problem is in this code segment:

Code
	if ($changedisplay || $changeemail || $changepassword) {
		$query_vars = array();
		$query_string = "";
		if ($changedisplay) {
			$query_string = "USER_DISPLAY_NAME = ? ,";
			array_push($query_vars,$displayname);
		} // end if
		if ($changepassword) {
			$query_string .= "USER_PASSWORD = ? ,";
			array_push($query_vars,$ChosenPassword);
		}
		$query_string = preg_replace("/,$/","",$query_string);

I didn't tried it, but the fix should be something like:

Code
	if ($changedisplay || $changeemail || $changepassword) {
		$query_vars = array();
		$query_string = "";
		if ($changedisplay) {
			$query_string = "USER_DISPLAY_NAME = ? ,";
			array_push($query_vars,$displayname);
		} // end if
		if ($changeemail)
		{
			$query_string .= "USER_REAL_EMAIL = ? ,";
			array_push($query_vars,$Email);		
		}
		if ($changepassword) {
			$query_string .= "USER_PASSWORD = ? ,";
			array_push($query_vars,$ChosenPassword);
		}
		$query_string = preg_replace("/,$/","",$query_string);