如何在具有两个不同结果的函数中触发两个查询

时间:2018-12-19 11:41:53

标签: php database codeigniter session

如何在具有两个不同结果的函数中触发两个查询:

$id = $_SESSION['user_id'];
$role = $_SESSION['user_role'];

$this->db->select("date_of_birth");
$this->db->from("student_basic_details");
$this->db->join('users', 'student_basic_details.student_id=users.user_id');
$this->db->where('users.role', $role);
$this->db->where('student_id', $id);
$student_birthday = $this->db->get()->row_array();

$this->db->select('date_of_birth');
$this->db->from('staff_basic_details');
$this->db->join('users', 'staff_basic_details.id=users.user_id');
$this->db->where('users.role', $role);
$this->db->where('id', $id);
$staff_birthday = $this->db->get()->row_array();

print_r($student_birthday);
exit();

但是查询者$ student_birthday和$ staff_birthday的结果相同。

2 个答案:

答案 0 :(得分:1)

您可以尝试解决此问题的方法:

$qry1 = $this->db->query("QUERY1");
$qry2 = $this->db->query("QUERY2");

$query = $this->db->query(' (".$qry1.") UNION ALL (".$qry2.") ');

return $query->result();

我希望它将对您有帮助。

答案 1 :(得分:0)

请尝试以下方式:

$qry1 = $this->db->query("QUERY1");
$qry2 = $this->db->query("QUERY2");

$res1 = $qry1->result();
$res2 = $qry2->result();