1
我的Codeigniter加入查询不起作用。在一个函数中只是试图匹配用户表中的RC代码并获取电子邮件,该函数正常工作,下一个目标是匹配文章表中的电子邮件ID并正确获取文章,但生病尝试加入用户表和文章表我需要从用户表中获取用户姓氏&姓氏,我不知道是否正确或不正确,请查看下面的代码。控制器部分:codeigniter加入电子邮件查询问题
public function user_article()
{
$rc=$_GET['rc'];
$data['title'] = "User Article";
if ($this->session->userdata ('is_logged_in')){
$data['profile']=$this->model_users->profilefetch();
$data['results']=$this->article_m->u_article($_GET);
$this->load->view('sd/header',$data);
$this->load->view('sd/user_article', $data);
$this->load->view('sd/footer', $data);
}
else {
}
}
我的模型:
function u_article($rc)
{
$query=$this->db->select('email')->where('rc',$rc['rc'])->get('users');
$result=$query->result_array();
if ($query->num_rows() > 0) {
$row = $query->row_array();
$array = array ('email' => $row['email'], 'a.status' => '1');
$query1=$this->db->select('a.id,title,a.status,description,image,a.email,tags,postdate,firstname,lastname,rc')->join('users u','u.email = a.email','left')->where($array)->get('articles a');
if ($query1->num_rows() > 0) {
foreach ($query1->result() as $row) {
$data[] = $row;
}
return $data;
}
else {return NULL;}
} else {return NULL;}
}
检查我的代码,并告诉我,我的错误在此先感谢。在查看
错误鞋:
A Database Error Occurred
Error Number: 1052
Column 'email' in where clause is ambiguous
SELECT `a`.`id`, `title`, `a`.`status`, `description`, `image`, `a`.`email`, `tags`, `postdate`, `firstname`, `lastname`, `rc` FROM (`articles` a) LEFT JOIN `users` u ON `u`.`email` = `a`.`email` WHERE `email` = '[email protected]' AND `a`.`status` = '1'
Filename: F:\wamp\www\project\system\database\DB_driver.php
Line Number: 331
您好,此代码不能正常工作,$ _ GET是正常工作,我认为这代码创建一个问题,生病添加错误信息在我的问题你可以chack ... $ array = array('email'=> $ row ['email'],'a.status'=>'1'); $ query1 = $ this-> db-> select('a.id,title,a.status,description,image,a.email,tags,postdate,firstname,lastname,rc') - > join('users u ','u.email = a.email','left') - > where($ array) - > get('articles a'); –
鉴于此错误显示:在 'where子句' 1054 未知列 '0' SELECT'a'.'id','title','a'.'status:数据库出错 错误编号''''描述','图像','''''电子邮件','标签','postdate','firstname','姓','rc'从('articles' a)LEFT JOIN'users'u ON'u'.'email' ='a'.'email' WHERE'0' ='email'AND'1' ='[email protected]'AND'a'.'status' ='1' 文件名:F:\ wamp \ www \ project \ system \ database \ DB_driver.php 行号码:331 –
基本上'$ _GET ['rc']'和'$ this-> input-> get('rc') '是一样的。它只是CI做事的方式。 '('email',$ row ['email'],'a.status'=>'1')'有'逗号'且应该'=>' –