Как инкапсулировать логику условия WHERE с помощью построителя запросов CodeIgniterPhp

Кемеровские программисты php общаются здесь
Anonymous
Как инкапсулировать логику условия WHERE с помощью построителя запросов CodeIgniter

Сообщение Anonymous »

Я использую Active Record на CodeIgniter. Я в замешательстве, какой подход мне следует выбрать. В настоящее время наша система входа позволяет пользователю использовать имя пользователя/адрес электронной почты для входа вместе с паролем. Но моя текущая активная запись, похоже, позволяет пользователю войти в систему, если он решит использовать адрес электронной почты + пароль.
Сейчас это мой запрос:

Код: Выделить всё

$this->db->select('id,level,email,username');
$this->db->where('email', $user);
$this->db->or_where('username', $user);
$this->db->where('password', $pass);
$query = $this->db->get('users');

if ($query->num_rows>0)
return TRUE;
else
return FALSE;
Пример входных данных:
  • Имя пользователя: test | Пароль: pass | Результат: Успех
  • Имя пользователя: test | Пароль: пустой | Результат: Не удалось
  • Имя пользователя: test@domain.com | Пароль: pass | Результат: Успех
  • Имя пользователя: test@domain.com | Пароль: пустой | Результат: Успех
Четвертый тестовый вход должен иметь результат Неудачный, но кажется, что он регистрирует пользователя, даже если пароль пуст.

Подробнее здесь: https://stackoverflow.com/questions/987 ... ry-builder

Вернуться в «Php»