2017-04-15 89 views
-1

我现在在使用codeigniter的项目中遇到问题,并且它花费了我大量的时间(tbh)。我在我的数据库中有一个名为参赛者的表,它有一列(id,event_id,name,gender,address,date_created)和tbl_rate,它们有(rate_id,judge_id,cont_id,score)列。我想加入这个2个表,但什么是错的:Mysql加入语法错误

,这里是我的查询:

public function getresult() 
{ 
$sql = 'SELECT `id`, `event_id`, `name`, `score` FROM contestants JOIN 
tbl_rate ON `contestants.id` = `tbl_rate.cont_id`'; 

$query = $this->db->get($sql); 
return $query->result_array(); 
} 
+1

请不要在截图上传文本。它们不能被搜索或复制,并且可用性差。相反,将其作为文本直接粘贴到您的问题中。 – Chris

+0

有一个codeigniter'join'函数,你试过吗? – chris85

+0

对不起,我的坏。这是我第一次在这里问一个问题。 – Mikko

回答

1

解决您的反引号:

select `id`, 
    `event_id`, 
    `name`, 
    `score` 
from contestants 
join tbl_rate on `contestants`.`id` = `tbl_rate`.`cont_id` 

还是最好不要使用它们完全通过使用适当的标识符:

select id, 
    event_id, 
    name, 
    score 
from contestants 
join tbl_rate on contestants.id = tbl_rate.cont_id 
+0

其不工作的兄弟 – Mikko

+0

@Mikko - *不工作* - 如何?你有错误吗?错误的结果? – GurV

+0

是的,它显示了我之前发布的同一个错误。 – Mikko

0

试试这个

$query = $this->db->query("SELECT contestants.id, contestants.event_id, contestants.name, tbl_rate.score 
          WHERE contestants.id = tbl_rate.cont_id"); 
return $query->result_array();