비슷한 문제에 직면했을 때 나는이 질문에 마주 쳤다. CI가 준비된 문을 지원하지 않는다는 대답은 정확합니다. 그러나 은 준비된 명령문을 사용할 수 없다는 것을 의미하는 것은 아닙니다.! 내 연결 클래스로 PDO를 사용하고 있지만, 다음과 같은 코드가 작동합니다 다음 예에서
:
$q = $this->db->conn_id->prepare('SELECT * FROM tbl_user WHERE uid=? and activation_key=?');
$q->execute(array($param1,$param2));
print_r($q->fetchAll());
주 conn_id 당신이 당신의 준비된 문을 실행할 수있는에 대해 PDO 개체입니다.
그러나 이것이 허용하지 않는 것은 네이티브 CI 함수가 허용하는 쿼리 문자열을 얻는 것입니다. 이를 위해서는 Get Last Executed Query in PHP PDO과 같은 것이 필요할 것입니다.
그러나 더 이상 그렇다고해서 PDO 준비에서 사용할 수있는 문 작성을 위해 쿼리 작성기를 사용하는 것을 중단하지는 않습니다.예를 들어 -
$db->where('uid = ?',null,false);
$db->where('activation_key = ?',null,false);
$q = $this->db->conn_id->prepare($db->get_compiled_select('tbl_user'));
는 쿼리를 작성겠습니까 당신이 $db->get_compiled_select('tbl_user');
출력 난 당신이 도움이 필요한 경우 기본 쿼리를 볼 수있다. 여기를보십시오 : http://stackoverflow.com/questions/38607368/how-to-implement-in-to-prepare-statement?noredirect=1#comment64603092_38607368 –