【问题标题】:Error Number: 1066 Not unique table/alias: 'core_user'错误号:1066 不是唯一的表/别名:'core_user'
【发布时间】:2016-04-10 09:47:28
【问题描述】:

我在一个数据库中有 3 个表。

核心用户 核心公司 ct_company

我想加入 2 个表 core_user 和 core_company,其中外键是 cmp_id 列..

但它显示一个错误。

错误号:1066

不是唯一的表/别名:'core_user'

选择 * FROM (core_user, core_user) 加入 core_company ON core_company.cmp_id = core_user.cmp_id WHERE usr_email = 'fahad@gmail.com' AND @987653 @ = '123456' 和 cmp_name = 'corpoleave'

文件名:F:/xampp/htdocs/corpoLeave/application/models/loginmodel.php

行号:10

这是我的模型。请帮忙。谢谢

<?php class LoginModel extends CI_Model{

    public function login_valid($email,$password,$cname){


        $q= $this->db->where(['usr_email'=>$email,'usr_password'=>$password,'cmp_name'=>$cname])
                            ->from('core_user');

                            $this->db->join('core_company', 'core_company.cmp_id = core_user.cmp_id');
                            $q = $this->db->get('core_user')->result();
                            if($q->result()==true)
                            {
                                return $q->row()->user_id;


                            }
                            else{

                                return false;
                            }

}}

?>

【问题讨论】:

标签: codeigniter


【解决方案1】:

在 Codeigniter 查询构建器中,get()from() 方法执行类似。

Codeigniter docs上所见:

get()

$query = $this->db->get('mytable');  
// Produces: SELECT * FROM mytable

来自()

$this->db->select('title, content, date');
$this->db->from('mytable');
$query = $this->db->get();  
// Produces: SELECT title, content, date FROM mytable

get("tablename")from("tablename") 方法都有效地将 FROM tablename 附加到构建的语句中,如下所示:

$this->db->select('title, content, date');
$this->db->from('mytable');
$query = $this->db->get('mytable');  
// Produces: SELECT title, content, date FROM mytable FROM mytable

(注意双“FROM”语句)

您收到错误是因为您同时使用 from()get() 和表名。您可以删除from() 语句,或从get() 语句中删除表名。

这看起来像:

<?php

class LoginModel extends CI_Model {

    public function login_valid($email, $password, $cname) {
        $this->db->where(['usr_email' => $email, 'usr_password' => $password, 'cmp_name' => $cname]);
        $this->db->from('core_user');
        $this->db->join('core_company', 'core_company.cmp_id = core_user.cmp_id');

        $q = $this->db->get();

        if ($q->result()) {
            return $q->row()->user_id;
        } else {
            return false;
        }
    }

}

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 2016-02-14
    相关资源
    最近更新 更多