CI 2.2.0 PDO 드라이버 버그 있습니다.
이넘 때문에 몇시간 삽질 했습니다.
구글링 검색 하여 원인을 찾아보니....
pdo_driver.php 파일에 있는 "function _execute($sql)" 에 버그가 있어서 이네요.
pdo 드라이버를 이용하여 작업 하시는 분들 참고 하십시오.
mysql 이나 maria DB만 사용하신다면 'mysqli' 드라이버를 추천해 드립니다.
버그 픽스 방법은 pdo_driver.php에서 "function _execute($sql)" 검색하여 아래 코드로 바꿔 주시면 됩니다.
2.1.4는 PDO 버그 없습니다.
/**
* Execute the query
*
* @access private called by the base class
* @param string an SQL query
* @return object
*/
function _execute($sql)
{
$sql = $this->_prep_query($sql);
$result_id = $this->conn_id->prepare($sql);
if (is_object($result_id) && $result_id->execute())
{
if (is_numeric(stripos($sql, 'SELECT')))
{
$this->affect_rows = count($result_id->fetchAll());
$result_id->execute();
}
else
{
$this->affect_rows = $result_id->rowCount();
}
$result = $result_id;
}
else
{
$this->affect_rows = 0;
$result = FALSE;
}
return $result;
}