Reputation: 97
I am working on a bug(?) for a few hours now, but couln’t fix it.
This is my code:
if(!$this->db->get_where('merken',array('m_merken' => $brand))->count_all_results()){
$insetData = array('m_name' => $brand);
$this->db->insert('merken', $insetData);
}
$brand contains ‘Acer’ in this preview.
A Database Error Occurred
Error Number: 1054
Unknown column ‘Acer’ in ‘where clause’
SELECT * FROM (`merken`) WHERE `m_name` = Acer
I want to check if it already exists, but it won’t work very well.
Upvotes: 1
Views: 4778
Reputation: 12835
Without quotes, your statement:
SELECT * FROM (`merken`) WHERE `m_name` = Acer
Acer
refers to a column-name. If your intent is a string literal, put it in single-quotes, as in:
SELECT * FROM (`merken`) WHERE `m_name` = 'Acer'
Also, as a matter of good programming practice, avoid SELECT *
, better to SELECT
each column you want to return, even if the list is lengthy.
-- EDIT --
I suspect I'm missing the point... the SQL is generated. Two things to check:
Is m_name
correctly declared as a string/varchar/char
field?
Failing that, try literally setting the brand name to 'Acer'
, with the quote marks. I doubt this is a reasonable solution, though.
Upvotes: 1