Добавьте unique constraint
на свой стол:
alter table users
add unique (username)
Тогда ваши операторы insert
или update
потерпят неудачу:
mysql_query("insert into users (username) values ('$username')")
or die('Username exists');
Конечно, большая проблема с вашим кодом заключается в том, что вы не предотвращаете внедрение SQL. Ваш код должен быть:
$username = mysql_real_escape_string($_POST['username']);
mysql_query("insert into users (username) values ('$username')")
or die('Username exists');