Ваш PHP-скрипт должен проверить имя перед его отправкой, и должны перехватить любую ошибку, которая возвращается из MySQL при попытке его создания.
Например, PHP может проверять имя по регулярному выражению. Может быть, вы хотите разрешить только алфавитные символы.
На самом деле, я настоятельно рекомендую только принимать алфавитные символы и проверять это, прежде чем отправлять что-либо в команду базы данных ... нет никакого смысла давать кому-либо возможность передавать значения, которые могут привести к инъекции SQL в контексте пользователя с возможностью создания баз данных.
Но я бы тоже спросил; Вы действительно должны позволить пользователям определять свои собственные имена баз данных? Это может показаться «хорошим», чтобы включить его, но есть ли реальная выгода от генерации полуслучайного или инкрементного имени для пользователей, что устраняет необходимость проверки их входных данных в данном конкретном случае?