Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php从多个表中获取数据_Php_Mysql_Database_Codeigniter - Fatal编程技术网

Php从多个表中获取数据

Php从多个表中获取数据,php,mysql,database,codeigniter,Php,Mysql,Database,Codeigniter,我在数据库中搜索了多个表,并没有得到正确的答案。这是我的密码 $this->db->select('*'); $this->db->from('users'); $this->db->join('personal_data','personal_data.userid=users.userid','left'); $this->db->join('employed','employed.userid=users.userid','left'); $

我在数据库中搜索了多个表,并没有得到正确的答案。这是我的密码

$this->db->select('*');
$this->db->from('users');
$this->db->join('personal_data','personal_data.userid=users.userid','left');
$this->db->join('employed','employed.userid=users.userid','left');
$this->db->join('job_seeker','job_seeker.userid=users.userid','left');
$this->db->join('student','student.userid=users.userid','left');
$query=$this->db->get();
return $query->result();
这是显示代码

$query=$this->search_people->find_advanced();
foreach ($query as $row) {
    echo $row->userid;
}
我认为问题出在查询中,因为输出结果不符合预期。 请帮忙

更新: 我有五张桌子 1.1用户。它将userid作为主键,并具有fname和lname。 2.个人资料。它将userid作为外键。此表包含表用户的所有用户ID,并包含国家信息以及用户是受雇的、求职者还是学生。 3.就业。此表将userid作为外键。但是所有用户的ID都不在此表中。它包含公司等信息。 4.求职者。此表还将userid作为外键。所有使用的ID都不在求职者中。它有以前工作的时间段和经验。等 5.学生。此表还将userid作为外键。所有在Employee或job_seeker中的ID都不是在student中。它有学校/大学、学位和预期完成日期的信息

现在我想将所有这些信息合并到一个表中,以便在控制器中使用它

我目前有5个用户。此查询仅返回学生表的id

但我期待所有用户的id


我希望这能消除混淆。

请调试查询以了解发生了什么。 您可以使用:
$this->db->last_query()用于调试。

希望这能对您有所帮助。

输出结果与预期不符。
--好吧,我们怎么知道预期结果是什么?这里有太多无法解释的东西。首先,如果问题在查询中,那么查询是什么?我看到db中使用的函数,但我不知道它们是做什么的。您可以通过输出从db对象生成的查询字符串来进行故障排除。另外,您得到的输出结果是什么?正如Amal所说,您应该得到什么?您正在构建一个多分支联接结构:用户单独联接到4个单独的表。这通常不是一个好主意。连接应该是单个线性路径,例如
a->b->c->d
,而不是
a->b,a->c,a->d
,我有数据库。它有五张桌子。我想得到所有这些表中的所有数据。我正在使用userid来组合数据。userid在users表中是唯一的,在其他表中是外键。我想显示这些表中的所有数据。@SSMA在这里发布生成的SQL查询(您应该在
$this->db->get();
之后获得),在这里发布您现在获得的结果,并在这里发布预期结果。谢谢