2017-01-30 61 views
-1

我正在驗證在csv文件上有一個名稱的記錄。我使用的是SQL語句來看看,如果該名稱存在,但我得到這個錯誤Codeigniter sql語句錯誤

Error Number: 1054 

Unknown column 'aa' in 'where clause' 

SELECT name FROM company WHERE name =aa 


public function findCompany($company){ 
    $query = $this->db->query("SELECT name FROM companyWHERE name =".$company); 
    if($query->num_rows() > 0){ 
     return true; 
    }else{ 
     return false; 
    } 
} 

難道是具有可變連接到字符串末尾的isue?

回答

2

試試這個

function findCompany($company){ 
    $query = $this->db->query("SELECT name FROM company WHERE name = '$company' "); 
    $result = $query->result_array(); 

    if($result > 0) 
    { 
     return true; 
    }else{ 
     return false; 
    } 
} 

錯誤是

SELECT name FROM companyWHERE 
         ^^^ 

並檢查包裝"總是..

+0

這似乎適用於我嘗試的情況。 「'有什麼不同? –

+0

它表示文本值 –

+0

閱讀本文http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks-in-mysql –

0

嘗試這樣的..

function findCompany($company){ 
    $this->db->select('name'); 
    $this->db->where('name',$company); 
    $query = $this->db->get('company'); 

    if($query->num_rows > 0) { 
     return true; 
    }else{ 
     return false; 
    } 
} 
0

除了缺少引號外,您還可以使用SQL注入。不要擔心引號,讓Codeigniter/mysqli把它作爲參數傳遞給你。

$query = $this->db->query("SELECT name FROM company WHERE name = ?", array($company));