无法通过加入codeigniter来获取记录

时间:2017-09-08 17:12:35

标签: php mysql codeigniter join

我只是补偿以获取以下错误消息。

  

错误号码:1146       表'codeign.lc_64'不存在       SELECT * FROM(lc_questionlc_64lc_1lc_district)加入lc_answers ON lc_questionid_question =   lc_answersid_question       文件名:D:/xampp/htdocs/CI/test2/system/database/DB_driver.php       行号:691

这是关注我的问题。

//assume i have this value $dist = 64, $type = 1, $dist_name =Delhi

$this->db->select('*');
$this->db->from('lc_question');
$this->db->join('lc_answers', 'lc_question.id_question = lc_answers.id_question');
$query = $this->db->get_where(array('lc_answers.id_district' => $dist, 'a.question_type' => $type, 'a.question_level' =>$dist_name));
return $query->row_array();

1 个答案:

答案 0 :(得分:0)

get_where()需要第一个参数的表名。由于您已使用$this->db->from('lc_question');定义了表格,因此建议您改为使用where()

这里我使用了方法链和get('table_name')方法。不需要db->select('*')因为$this->db->get('mytable');生成" SELECT * FROM mytable"。

$query = $this->db
    ->join('lc_answers', 'lc_question.id_question = lc_answers.id_question')
    ->where(array('lc_answers.id_district' => $dist, 'a.question_type' => $type, 'a.question_level' =>$dist_name))
    ->get('lc_question');
return $query->row_array();

你可能仍然有问题,因为我不知道别名" a" (如'a.question_type'中所定义)。