Как инкапсулировать логику условия 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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