带有where子句的sql语句

时间:2016-01-22 07:08:25

标签: mysql codeigniter

我编写了一个查询数据库的函数。 sql语句包含where子句。但是,我一直收到此错误

  

"消息:odbc_exec():SQL错误:[Microsoft] [ODBC SQL Server   驱动程序] [SQL Server]无效的列名称' home'。,SQL状态S0022 in   SQLExecDirect的"

列名称应为banner_category,而#34; home_banner)为值。

我应该如何实现它?

public function get_landing_banners()
    {
        $query = $this->db->query(
            'SELECT *
             FROM o2o_banner
             WHERE banner_category='home_banner'');
        $data   =   array();
        foreach ($query->result_array() as $row) 
        {
            $data[] = $row;
        }
        return $data;  
    }

2 个答案:

答案 0 :(得分:1)

如果你想返回一个数组,试试这个:

public function get_landing_banners()
{
    $this->db->select('*')->from('o2o_banner')->where('banner_category', 'home_banner');
    $q = $this->db->get();
    if ($q->num_rows() > 0) {
    return $q->result_array();
    }
}

答案 1 :(得分:0)

尝试此编码

public function get_landing_banners()
    {
        $query = $this->db->query(
            'SELECT *
             FROM o2o_banner
             WHERE banner_category="home_banner"');
        $data   =   array();
        foreach ($query->result_array() as $row) 
        {
            $data[] = $row;
        }
        return $data;  
    }