준비된 문은 데이터베이스 보안과 성능을 향상시키는 데 필수적인 도구입니다. 그러나 CodeIgniter는 준비된 명령문을 기본적으로 지원하지 않는다는 점에 유의하는 것이 중요합니다. 그럼에도 불구하고 상당한 이점을 제공하는 유사한 접근 방식인 쿼리 바인딩을 사용할 수 있습니다.
CodeIgniter는 물음표(?)가 역할을 하는 이름 없는 쿼리 바인딩을 수용합니다. SQL 쿼리 내의 자리 표시자. 이러한 자리 표시자는 쿼리 함수에 전달된 배열에 지정된 값으로 자동으로 대체됩니다.
예:
$sql = "SELECT * FROM tbl_user WHERE uid = ? AND activation_key = ?"; $this->db->query($sql, array($uid, $activation_key));
CodeIgniter에는 명시적인 내용이 부족하지만 명명된 바인딩(예: :id 및 :key) 지원, 물음표를 명명된 자리 표시자로 바꾸는 것은 준비된 명령문의 사용을 의미하지 않습니다. 명명된 바인딩은 쿼리 바인딩 내에서 다른 구문 대안을 제공할 뿐입니다.
? 또는 :foo는 명령문 준비를 의미하지 않습니다. 준비된 문에는 CodeIgniter에서 지원되지 않는 prepare() 및 Execution()이라는 두 가지 별도의 함수 호출이 필요합니다.
Prepared 문이 없더라도 쿼리 바인딩은 여러 가지 기능을 제공합니다. 장점:
위 내용은 CodeIgniter는 준비된 진술을 지원합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!