PHP-Benutzername in der Datenbank überprüfen, wenn der Benutzer bereits vergeben ist

Hallo, ich habe ein Registrierungssystem, und es funktioniert gut und in der Datenbank speichern. Ich habe ein Problem beim Überprüfen der Datenbank auf den Benutzernamen, falls dieser bereits vorhanden ist. Mein Skript zum Überprüfen der Datenbank ist falsch. Kann mir jemand dabei helfen? Unten ist mein Code

<?php  
   if(empty($_POST['username'])){
          $username_error = "Please Input Username";
        }else{
          if( 6 > mb_strlen($_POST['username']) || 20 < mb_strlen($_POST['username'])){
            $username_error = "username must be at least 6 characters.";
          }else{
            $sql = "SELECT
                    members.username
                    FROM
                    members
                    WHERE username = $username";
              $res = mysql_query($sql);
              if(mysql_num_rows($res)){
                $username_exists = "Username is already taken.";
              }else{
                $username = $_POST['username'];
              }
          }     
        }
?>

Problem ist nur in der else-Anweisung

Antworten auf die Frage(5)

Ihre Antwort auf die Frage