제목 | ci 로그인 문의 드립니다~~ | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | minju84 | 작성시각 | 2018/01/31 10:08:37 |
|
|||
class Login_model extends CI_Model { public function processLogin($id,$pass) { $sql = "SELECT COUNT(*) FROM manager WHERE id = ? AND pass = ?"; $query = $this->db->query($sql, array($id, $pass)); return $query->num_rows(); } } SELECT 쿼리를 이용해서 POST된 id,pass 값이 데이터베이스에 있을경우 카운터 1을 없을경우 0을
반환하는 로직을 짜고있는데 아무리 해도 리턴값이 없다고 나옵니다.. PHP 생초보라.. 선배님들 조언부탁드립니다..ㅠ |
|||
다음글 | ci url 문의 드립니다~~~ (4) | ||
이전글 | controllers 나 models 에서 php가 아... (3) | ||
배강민
/
2018/01/31 10:12:18 /
추천
0
|
minju84
/
2018/01/31 11:02:50 /
추천
0
답변 감사드립니다`~~ $sql = "SELECT * FROM manager WHERE id = ? AND pass = ?";
$query = $this->db->query($sql, array($id, $pass));
return $query->num_rows();
조언주신것 처럼 SELECT 문에서 COUNT(*)을 빼고 진행하였는데
그래도 아직 결과값이 레코드가 있냐 없냐를 따지는거라 무조건 1이 나오는 쿼리네요..
혹시 결과 레코드의 결과값을 가져오려면 어떻게해야될까요?ㅠㅠ
|
배강민
/
2018/01/31 11:06:21 /
추천
0
어라? id/pass가 올바르지 않은거로 시도해도 1이 나온다고요? 이상하네요 흠. 왜 그런지 상황은 모르겠지만, 결과 레코드를 가져오시려면 http://www.ciboard.co.kr/user_guide/kr/database/results.html 를 참고해보셔요 |
엽토군
/
2018/02/04 12:11:16 /
추천
0
'로그인'은 이런 식으로 직접 구현하지 마시고 처음부터 ion auth 같은 라이브러리를 쓰시기 바랍니다. 세션유지, 가입로직 구현 등 직접 구현하시면 넘어야 할 산이 많아집니다.
|
num_rows는 쿼리 결과의 record수를 가져옵니다.
count(*)로 select하셨으니 없으면 0이라는 1개의 record가 나오므로 무조건 1이 리턴되는 로직입니다.
count(*) as cnt 쯤으로 cnt를 리턴하던가
그냥 * 로 record가 나오게 해서 num_rows를 리턴하던가 해야합니다.