CodeIgniter: неизвестный столбец xxx в «предложении where» - PullRequest
1 голос
/ 31 октября 2009

Я работаю над ошибкой (?) Уже несколько часов, но не могу ее исправить.

Это мой код:

 if(!$this->db->get_where('merken',array('m_merken' => $brand))->count_all_results()){

      $insetData = array('m_name' => $brand);
      $this->db->insert('merken', $insetData);

 }

$ brand содержит ‘Acer’ в этом предварительном просмотре.

 A Database Error Occurred

    Error Number: 1054

    Unknown column ‘Acer’ in ‘where clause’

    SELECT * FROM (`merken`) WHERE `m_name` = Acer 

Я хочу проверить, существует ли он уже, но он не очень хорошо работает.

1 Ответ

1 голос
/ 31 октября 2009

Без кавычек, ваше заявление:

SELECT * FROM (`merken`) WHERE `m_name` = Acer

Acer относится к имени столбца. Если ваше намерение является строковым литералом, поместите его в одинарные кавычки, например:

SELECT * FROM (`merken`) WHERE `m_name` = 'Acer'

Кроме того, в качестве хорошей практики программирования избегайте SELECT *, лучше SELECT каждого столбца, который вы хотите вернуть, даже если список слишком длинный.

- РЕДАКТИРОВАТЬ -

Я подозреваю, что упускаю суть ... SQL генерируется. Две вещи, которые нужно проверить:

Правильно ли объявлено m_name как поле string/varchar/char? В противном случае попробуйте буквально установить название бренда на 'Acer' с кавычками. Я сомневаюсь, что это разумное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...