Не удается подтвердить логин с помощью codeigniter - PullRequest
0 голосов
/ 16 ноября 2011

перекодировал мой сайт с помощью воспламенителя кода.У меня есть некоторые причуды с моими, казалось бы, чувственными сценариями.

обратите внимание, что мне известно о том, что я не шифрую пароли, а просто читаю текстовые сообщения до тех пор, пока не смогу войти в систему, и выполню как шаг 2

Номер ошибки: 1064

В синтаксисе SQL есть ошибка;обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с'@gmail.com && password = Password LIMIT 1 'в строке 1

ВЫБЕРИТЕ ID ИЗ ПОЛЬЗОВАТЕЛЕЙ, ГДЕ email = mr-t @ gmail.com && password = Пароль LIMIT 1

ЗДЕСЬ - это мой код вместе с объяснением моих проблем.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 16 ноября 2011

Вы должны иметь кавычки рядом с паролем и адресом электронной почты в выбранной выписке.

В вашем случае должно работать следующее:

$email = mysql_real_escape_string($this->input->post('email'));
$password = mysql_real_escape_string($this->input->post('password'));
$query = $this->db->query('SELECT id FROM users WHERE email = "' . $email . '" && password = "' . $password . '" LIMIT 1');
0 голосов
/ 16 ноября 2011

В CI вы должны сделать это следующим образом:

$this->db->select("id");
$this->db->from("users");
$this->db->where("email", $this->input->post('email'));
$this->db->where("password", $this->input->post('password'));
$this->db->limit(1);
$query = $this->db->query();
0 голосов
/ 16 ноября 2011

Попробуйте заменить одинарные кавычки на двойные в ваших $this->input->post() разделах. Я думаю, что вы избегаете переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...