Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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 CodeIgniter联接不在select上工作_Php_Mysql_Codeigniter - Fatal编程技术网

Php CodeIgniter联接不在select上工作

Php CodeIgniter联接不在select上工作,php,mysql,codeigniter,Php,Mysql,Codeigniter,实际上,我正在尝试返回一个包含其他两个表中数据的特定行,我使用CodeIgniter作为框架,我不知道哪里出了问题:/ 我注意到它只显示了usuarios的数据,没有显示菲律宾或职能教授的数据。。。这是我的模型文件中的函数,已经尝试了我在堆栈中找到的所有东西,似乎都不起作用,如果有人能帮我一把,我将不胜感激,因为我不太擅长sql和查询 function ver_usuario($user_id){ $this->db->where('usuarios.id = "'.

实际上,我正在尝试返回一个包含其他两个表中数据的特定行,我使用CodeIgniter作为框架,我不知道哪里出了问题:/

我注意到它只显示了usuarios的数据,没有显示菲律宾或职能教授的数据。。。这是我的模型文件中的函数,已经尝试了我在堆栈中找到的所有东西,似乎都不起作用,如果有人能帮我一把,我将不胜感激,因为我不太擅长sql和查询

    function ver_usuario($user_id){
    $this->db->where('usuarios.id = "'.$user_id.'"'); // 1 = Administrador, 3 = Recepcionista, 4 = Professores/Personal Trainers, 5 = Gerente
    $this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado');
    $this->db->from('usuarios');
    $this->db->join('filiais', 'usuarios.filial = filiais.filial_id', 'left');
    $this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf', 'left');
    return $this->db->get();
}
我试着从连接中删除“left”,将一个“left”和另一个“right”。。将其从两个。。什么都没用

谢谢。

更改为:

$this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado');
$this->db->from('usuarios');
$this->db->join('filiais', 'usuarios.filial = filiais.filial_id');
$this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf');
$this->db->where('usuarios.id', $user_id);
return $this->db->get();
试试这个:

 function ver_usuario($user_id){
   $this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado');
   $this->db->where('usuarios.id', $user_id);
   $this->db->from('usuarios');       
   $this->db->join('filiais', 'usuarios.filial = filiais.filial_id');
   $this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf');
   return $this->db->get();
}
您需要注意的是,如果有任何表具有相同的列名,并且该列名在select中使用,那么请将该列名与表名一起使用,并使用as关键字


例如,如果两个表具有相同的字段名:id,我们可以通过使用table1.id作为id1和table2.id作为id2来避免这些字段之间的歧义

您得到了什么错误?添加表的图像以编写适当的查询Tanks伙计们,现在工作正常了。。未编辑任何内容,也未应用此处其他用户建议的任何更改。您的注释应位于代码块之外。此外,你想说什么也不清楚。我试图在最后一行编辑你的评论,但被卡住了。请更新使其有意义。谢谢,但今天我再次开始使用代码时,我的查询突然工作正常,不知道发生了什么,我也没有编辑任何其他内容,所以不知道发生了什么,但现在一切正常。。再次感谢你花时间来帮助我,真的很感激你!太谢谢你了,伙计,但是今天当我再次开始编写代码时,我的查询突然工作得很好,不知道发生了什么,我也没有编辑任何其他内容,所以不知道发生了什么,但现在一切都正常了。。再次感谢你花时间来帮助我,真的很感激你!
    function ver_usuario($user_id)
    {
        $this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado');
        $this->db->from('usuarios');
        $this->db->join('filiais', 'usuarios.filial = filiais.filial_id', 'left');
        $this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf', 'left');
        $this->db->where('usuarios.id',$user_id);
        $query = $this->db->get();
            if($query->num_rows() != 0)
            {
                return $query->result_array();
            }
            else
            {
                return false;
            }
    }