2014-02-06 92 views
1

嗯,我有一个问题。我应该检查电子邮件是否在我的数据库中。 我使用CI(笨)检查记录是否在分贝 - php

MODEL:

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

控制器: 它涉及的是插入表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"; 

有人能告诉我我做错了什么?

+0

我觉得这个问题,也许,就在这里:http://stackoverflow.com/questions/1314745/php-count-an-stdclass-object尝试返回result_array() – sinisake

回答

1

的ActiveRecord的结果()返回对象,但你要计算(),所以你需要使用 - > result_array():

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

你也可以使用 - 无论是模型> count_all_results()它只会返回计数。但我认为,在这种情况下,您应该使用另一个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 
}