codeigniter에서 데이터베이스 (mysql) 쿼리를 작성하는 모범 사례에 대해 알고 싶습니다. 나는 여러 가지 다른 방식을 보았지만 가장 좋은 방법이 무엇인지 혼란스러워했습니다.codeigniter에서 쿼리를 작성하는 모범 사례
다음 내가
방법 1 개
$this -> db -> select('id, username, password');
$this -> db -> from('users');
$this -> db -> where('username = ' . "'" . $username . "'");
$this -> db -> where('password = ' . "'" . MD5($password) . "'");
$this -> db -> limit(1);
방법을 통해 갈 몇 가지 방법은 2
$query = $this->db->query("select * from user where username = '$uname' and password = '$pass'");
방법 3 (저장 프로 시저를 작성)가
$query = "call authenticateuser(" . $this->db->escape($parameters['username']) . ", '" . sha1($parameters['password']) . "')";
힘 다른 많은 방법이 있지만 쿼리를 작성하는 가장 좋은 방법을 알고 싶습니다. 따라서 누군가가 조언 할 수 있다면 정말 도움이 될 것입니다.
활동 기록은 가장 좋습니다. – Vamsi
위의 모든 방법의 문제점은 SQL 주입에 개방적이라는 것입니다. 사용 가능한 매개 변수를 실제로 사용하고 '$ this -> db -> where ('username ', $ username);와 같이 WHERE 함수를 작성해야합니다. 자동으로 문자열을 이스케이프 처리합니다. – Jeemusu
참고 :주의하십시오. Codeigniter는 기존의'mysql_ *'함수를 사용하여 더 이상 사용되지 않는 이스케이프 용 함수를 사용합니다. codeigniter를 사용하는 경우에도 기본 드라이버를 pdo로 변경하십시오. – itachi