Нет мы заведомо не знаем. Можно и одним !empty(). Я б порекомендовал проверить существует ли переменная submit (будет существовать если нажмут на кнопку отправки и потом проверять каждое поле только на пустоту, но тут тоже есть заковырка переменные приведение ниже тоже считаются пустотой)
Имеет, не усложнить пиши те обертку и ее пользуйтесь. Данные все надо проверять перед запросом.
Для лучшей производительности если у вас mysql база используйте mysqli.
Для защиты от sql-injection habrahabr.ru/post/148701 все разжевано.