Когда новый пользователь регистрируется, я хочу использовать PHP для создания базы данных MySql для них.Как создать допустимое имя базы данных MYSql из строки?
Однако некоторые символы в имени пользователя могут оказаться непригодными (см. O'reilly
).
Как я могу «дезинфицировать» имя пользователя для cerate как действительное имя базы данных MySql?
[Update] Я мог uase @dognose внушения и пользователя UER Id во имя БД, таким образом, havonf db_1
, db_2
и т.д.
Это, конечно, решает особую проблему характера, но это делает мне было труднее отлаживать, чем haviong, удобочитаемое для человека имя.
Не слишком много, хотя. И он решил проблему с дублированием имен.
Что делают другие?
Удаляя, например, что-либо, что не является -z. Вырежьте их. –
@SamiKuhmonen это не самое лучшее. Вы можете столкнуться с конфликтами с похожими именами, то есть '$ Bob' и' §Bob' станут тем же, независимо от того, удалите или замените специальный символ. Когда пользователь подписывается, он получает идентификатор I Assume - имя базы данных 'database_ {userid}' – dognose
@dognose Конечно, вам нужны другие чеки, но это данные: кто говорит, что вы никогда не получаете двух Джона Смита? Имена пользователей могут быть уникальными, но они уже будут без особых символов. Имена пользователей не уникальны. –