Php 代码点火器错误号:1066“非唯一表/别名”

Php 代码点火器错误号:1066“非唯一表/别名”,php,mysql,codeigniter,Php,Mysql,Codeigniter,我想做什么 $this->form_validation->set_rules('username', $this->lang->line('signup_username'), 'required|callback__usernameRegex|min_length[5]|max_length[15]|is_unique[users.username]', array( 'required'

我想做什么

            $this->form_validation->set_rules('username', $this->lang->line('signup_username'), 'required|callback__usernameRegex|min_length[5]|max_length[15]|is_unique[users.username]',
            array(
                'required'      => $this->lang->line('signup_username_missing'),
                'is_unique'     => $this->lang->line('signup_username_exists')
            )
        );
        $this->form_validation->set_rules('email', $this->lang->line('signup_email'), 'required|valid_email|is_unique[users.email]',
            array(
                'required'      => $this->lang->line('signup_email_missing'),
                'is_unique'     => $this->lang->line('signup_email_exists')
            )
        );
用户名和电子邮件应该是唯一的,所以我使用is_unique[users.username]和is_unique[users.email]来检查它,但只要我运行

$this->form_validation->run()
我收到错误1066

非唯一表/别名:“sdy_用户”

它返回的查询是

从sdy_用户、sdy_用户中选择*用户名='testu'和电子邮件='testu'test@sd.net“限制1


它不知何故添加了两次表名!早些时候,它是工作,但我无法理解什么是错的

您的查询中有问题,请更正

SELECT * FROM sdy_users, sdy_users WHERE username = 'testu' AND email = 'test@sd.net' LIMIT 1
你为什么要用这个两次??sdy_用户,sdy_用户??
由于此系统显示此错误非唯一表/别名:“sdy_users”

能否显示生成查询的模型的代码?此查询实际上没有模型,它是简单的表单验证库内容,不知何故它与用户名、电子邮件的2个is_唯一语句相关。它昨天起作用了,但似乎不知道是什么触发了这一切!还在看!查询必须在某个地方生成,对吗?你是对的$this->form\u validation->run正在创建查询,它仍然在我的开发服务器上完美地工作,但开始在我的本地主机上给我错误的查询,我无法找出哪里出了问题!为什么不扩展库?请正确阅读问题,我使用的是form\u验证库,我没有创建查询,当我运行$this->form\u validation->run时,查询是由库本身创建的,因为我对用户名使用了两次is\u unique指令,所以它通过电子邮件添加了两次表名,我试图找出原因!我知道这件事,正在寻找解决办法!