Да и нет.
Часть "да"
Хорошо санировать пользовательский ввод для SQL-инъекций. И поскольку это не повлияет на пустую строку, вы не будете создавать ложные срабатывания или другие побочные эффекты с помощью этого метода.
Часть "нет"
Технически говоря, вы не хотите фильтровать данные слишком рано. Сначала я обрезал бы значение, проверил бы значение и ТО, чтобы избежать запроса, когда вы знаете, что данные верны.
if ( isset( $_POST['submit'] ) )
{
$username = trim( $_POST['username'] );
if ( '' == $username )
{
die ( 'You need to enter a username.' );
} else {
mysql_query( sprintf(
"INSERT INTO table (username) VALUES('%s')"
, mysql_real_escape_string( $username )
) );
}
}