检查所选值是否具有相同的ID

时间:2013-07-05 19:08:48

标签: php codeigniter

我有一个名为student的表,其中包含字段[ID,NAME,EMAIL],现在我执行了如下操作:

> $query =
> $this->db->select('*')->from('student')->where('EMAIL',xyz@gmail.com');

现在我的要求是,对于上述$查询,所有学生IDS应相同。怎么做这件事...

这确实意味着我需要 check 查询,如果查询中的所有用户ID都相同

[echo'eccess'和ID] else [echo'false'];

ID  NAME         EMAIL 
1   alex      xyz@gmail.com
1   john      xyz@gmail.com
2   nithu     ooo@gmail.com
3   rohit     sda@gmail.com
4   jack      dad@gmail.com

现在在上表中,如果我执行上述操作,我将获得元组1和元组2 ..

所以我需要检查两个元组是否具有相同的Id。在这种情况下,我有相同的id。所以echo成功和ID在这种情况下为1,否则为echo false

3 个答案:

答案 0 :(得分:1)

我不知道codeigniter,但我会这样做:

SELECT count(*), student_id
FROM student
WHERE email = 'xyz@gmail.com'
GROUP BY student_id

如果您只获得矿石行,则表示所有发送电子邮件'xyz@gmail.com'的学生都具有相同的ID。

答案 1 :(得分:1)

CodeIgniter中的

我们喜欢这样: -

$this->db->where('email', 'xyz@gmail.com');
$this->db->group_by("student_id"); 
$query = $this->db->get('student');

//当你没有选择CodeIgniter时,假设选择所有列

答案 2 :(得分:0)

$all_ids = array();
foreach ($query->result_array() as $row) {
  $all_ids[] = $row['id'];
}
$all_ids = array_unique($all_ids);
if (count($all_ids) == 1) {
  return array('success'=>true, 'id'=>$all_ids[0]);
} else {
  return false; 
}