Я читал вокруг и люди говорят, что при настройке соединения с базой данных, которые вы должны добавитьCodeigniter PDO эмулировать подготовить
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
Рассказывая PDO, чтобы отключить эмулировать подготовленные заявления с использованием реальных заявлений PDO.
Как настроить это в Codeigniter?
Я использую CodeIgniter 2.1.3
Edit 1:
Как подключить Сейчас:
$active_group = 'default';
$active_record = FALSE;
$db['default']['hostname'] = 'mysql:host=localhost';
$db['default']['username'] = 'XXXXXXX';
$db['default']['password'] = 'XXXXXXXXXX';
$db['default']['database'] = 'XXXXXXX';
$db['default']['dbdriver'] = 'pdo';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
и пример запроса является:
function validate_login()
{
$bcrypt = new Bcrypt(17);
$sql = "SELECT * FROM users WHERE username = :user";
$loginQ = $this->db->conn_id->prepare($sql);
$loginQ->bindParam(':user', $this->input->post('username'));
$loginQ->execute();
$row = $loginQ->fetch();
$hash = $row['password'];
$password = $this->input->post('password');
$verified = $bcrypt->verify($password, $hash);
if($bcrypt->verify($password, $hash))
{
return $loginQ;
}
}