Код воспламенитель MySQL запрос - PullRequest
1 голос
/ 22 июля 2011

Я получаю сообщение об ошибке с этой функцией:

Контроллер

    $data['carSubwoofers'] = $this->db->get_where("department = 'MOBILE AUDIO' 
                             AND class = 'CAR STEREO' 
                             AND subclass 
                             IN ('SO CAR STEREO','SUBS','SO SUBS')")->result();


$this->load->view('Category/carSubwoofers',$data);

View

foreach($data->result() as $row) { ?>
 <?php echo $row->modelNumber; ?>
     <?php echo $row->name; ?>
 <?php } ?>

Кодовый воспламенитель стреляет так:

A Database Error Occurred

Номер ошибки: 1064

У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '' MOBILE AUDIO 'И class =' ​​CAR STEREO 'И подклассом IN (' SO CAR STEREO 'в строке 2

ВЫБРАТЬ * ИЗ (department = 'МОБИЛЬНЫЙ АУДИО' И КЛАСС = 'АВТО СТЕРЕО' И ПОДкласс IN ('SO CAR STEREO', 'SUBS', 'SO SUBS '))

Имя файла: C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ htdocs \ CodeIgniter_2.0.2 \ system \ database \ DB_driver.php

Номер строки: 330

Ответы [ 3 ]

4 голосов
/ 23 июля 2011

Вы можете связать свои условные выражения вместе, чтобы они тоже выглядели чище.

$this->db->where('department', 'MOBILE AUDIO')->where('class', 'CAR STEREO')->where_in('subclass', array('SO CAR STEREO','SUBS','SO SUBS'))->get('tableName');
2 голосов
/ 22 июля 2011

Ваш метод get_where () полностью отсутствует в документации ...

$query = $this->db->get_where('TABLE', array('id' => $id), $limit, $offset);

из документов

, поэтому вы захотите что-нибудькак $this->db->get_where("TABLE", array('MOBILE AUDIO' => 'CAR STEREO','class' =>'CAR STEREO'...)

0 голосов
/ 22 июля 2011

Не знаю codeigniter, но похоже, что вы забыли назначить $ this-> db таблицу для запроса.

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