2014-02-06 3 views
1

글쎄, 문제가 있습니다. 내 이메일이 내 데이터베이스에 있는지 확인해야합니다. 나는 (CodeIgniter를) CI를 사용하고레코드가 db - php에 있는지 확인하십시오.

모델 :

function getUsersPoints($email) 
{ 
$query = $this->db->query("SELECT * FROM `points` WHERE `p_email` = '$email'"); 
return $query->result(); 
} 

CONTROLLER : 는 테이블 customers의 모든 데이터를 삽입하는 기능을 제공하고, 이메일이 두 번째에있는 경우 다음 내가 확인해야합니다 테이블 points, 그렇지 않은 경우, 나는 그것을 추가해야합니다. 그래서, 내가 한 일 :

$this->model->insert_customer($firstname, $lastname, $email, $telephone, $street, $house); 
$getUserPoints = $this->model->getUsersPoints($email); 

if(count($getUserPoints) == 0) 
    echo "ADD in table points"; 
else 
    echo "DO SOMETHING ELSE"; 

누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까? 모델에> count_all_results() -을 또한 사용할 수 있습니다

function getUsersPoints($email) { 
    $query = $this->db->query("SELECT * FROM `points` WHERE `p_email` = '$email'"); 
    return $query->result_array(); 
} 

: -

+0

나는 그 문제는 아마 여기에있다 생각 : http://stackoverflow.com/questions/1314745/php-count-an-stdclass-object (result_array을 돌아보십시오) – sinisake

답변

1

액티브의 결과() 반환 값 Object,하지만 당신은) (계산 원하는, 그래서 당신은 사용할 필요가> result_array을() 그냥 카운트를 반환합니다. 그러나 나는 이런 경우 ActiveRecords 메서드를 사용하여 다른 쿼리를 사용해야한다고 생각합니다.

0
function getUserPoints($email){ 
return $this->db->where('email', $email)->count_all_results('points'); 
} 
0
$data = array( `p_email` => $email); 
$query = $this->db->get_where('points',$data); 
if($query->num_rows() == 0) 
{ 
    //Write your code 
} 
else 
{ 
    //your code 
} 
관련 문제