我有问题。我应该检查一下我的数据库中是否有电子邮件。 我正在使用CI(CodeIgniter)
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 :(得分:1)
ActiveRecord的result()返回对象,但是你想要count()它,所以你需要使用 - > result_array():
function getUsersPoints($email) {
$query = $this->db->query("SELECT * FROM `points` WHERE `p_email` = '$email'");
return $query->result_array();
}
你也可以在模型中使用 - > count_all_results(),它只返回count。但我认为,在这种情况下你应该使用另一种ActiveRecords方法来进行查询。
答案 1 :(得分:0)
function getUserPoints($email){
return $this->db->where('email', $email)->count_all_results('points');
}
答案 2 :(得分:0)
$data = array( `p_email` => $email);
$query = $this->db->get_where('points',$data);
if($query->num_rows() == 0)
{
//Write your code
}
else
{
//your code
}