2016-01-22 69 views
1

我写了一个函数来查询数据库。 sql语句包含一个where子句。不过,我不断收到此错误sql语句与函数中的where子句

"Message: odbc_exec(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'home'., SQL state S0022 in SQLExecDirect".

列名应,而“home_banner banner_category)的值。

我应该如何去实现呢?

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; 
    } 

回答

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(); 
    } 
} 
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; 
    } 
+0

感谢您的帮助。但我试过这个,它有同样的错误。 –