Какой самый лучший способ ??сохранить имя пользователя в сессии или идентификатор пользователя в сессии? - PullRequest
0 голосов
/ 21 февраля 2011

идентификатор пользователя или имя пользователя, которые лучше сохранить в сеансе, а также в mysql, что является лучшим способом.

-> "select * from usertable where loginname=" . $_SESSION['username']; или

-> "select * from usertable where id=" . $_SESSION['id'];

- целочисленное сравнение или сравнение строк, которое является лучшим сравнением в SQL.

Ответы [ 3 ]

4 голосов
/ 21 февраля 2011

Обычно вы должны сохранять идентификатор, потому что если вы используете полностью нормализованную базу данных, это значение наиболее полезно для вас при выполнении других поисков.

1 голос
/ 21 февраля 2011

То, что ты думаешь, не имеет для меня большого смысла, правда!

Сравнение целых чисел или сравнение строк - как вы думаете, почему один будет быстрее другого? Конечно, если вы идете инструкция за инструкцией, целочисленное сравнение будет быстрее, но зачем вам это?

Мой ответ: придерживайся всего, что ты хочешь. Выберите тот, который будет гарантированно уникальным. Плюс, выбор имени пользователя не является чем-то большим. Создайте уникальный идентификатор для каждого пользователя, который вошел в систему. И сохраните этот идентификатор в $_SESSION[..]. Очевидно, что вам потребуется механизм проверки идентификатора и связывания его с именем пользователя.

0 голосов
/ 21 февраля 2011

Сравнение целых чисел всегда более точное, чем строки, также вы должны учитывать тот факт, что идентификатор уникален для каждого пользователя, и, возможно, существует несколько пользователей с одинаковым именем пользователя, которое зависит от вашей системы.

Я считаю, что сравнение идентификаторов - лучший способ.

...