数据库错误子查询在codeigniter中返回多行

时间:2014-06-04 10:32:31

标签: php mysql sql codeigniter

你好我想在codeigniter中查询并返回1行,但我得到的错误返回超过1行。 这是模态的

function get_status_pendaftaran_anggota()
    {
        $this->db->where("nim",$this->session->userdata('nim'));
        $this->db->where("id_periode = (SELECT id_periode from periode 
            where tgl_dari <= CURDATE() AND tgl_sampai >= CURDATE())");
        $row = $this->db->get('pendaftaran_ukt');

        if ($row) {
            return $row->row();
        }
        else
        {
            return 0;
        }
    }

如何解决这个问题。

谢谢

3 个答案:

答案 0 :(得分:0)

允许您限制查询返回的行数:

$this->db->limit(1);

答案 1 :(得分:0)

1)正如 哈姆雷特 所述,在IN之后添加 id_periode
2)使用 raw queries 时,添加NULL和FALSE作为附加 parameters
3) {{1} } 表示你没有将任何数据传递给where子句(当然是原始查询) 4) NULL 不会尝试使用反引号来保护您的字段或表名。

FALSE

答案 2 :(得分:-1)

试试这个。

 if ($row->num_rows() > 0) {
        return $row->row_array();
    }
    else
    {
        return 0;
    }