Sql оператор запроса IN не является ошибкой работы? - PullRequest
0 голосов
/ 03 февраля 2020

Я использую CI 'in'operator не работает sql ошибка, пожалуйста, проверьте его и поделитесь ценной идеей ...

таблица

введите описание изображения здесь

id   | coach_name
------------------
9    | GS
------------------
10   | SLR 

просмотр и функции

$coachID = explode(',',$list['coach']);
$coachname = $this->rail_ceil_model->display_coach_name($coachID); 

показать результат

SLR

нужен результат

GS, SLR

последний результат запроса здесь

ВЫБРАТЬ coach_name ОТ mcc_coach ГДЕ id IN ('9', '10')

Код CI

public function display_coach_name($coachID='')
            {
        $db2 = $this->load->database('rail',TRUE);
        $db2->select('coach_name');
        $db2->from('mcc_coach');
        $db2->where_in('id',$coachID);
        $query = $db2->get();
        echo $db2->last_query(); die;

        if ($query->num_rows() > 0):
            //return $query->row()->coach_name;
        else:
            return 0;
        endif;
            }

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Вы должны предоставить массив для оператора in, поэтому #coachId должен быть массивом, а не строкой

0 голосов
/ 03 февраля 2020

Если вы пишете этот запрос

 SELECT coach_name FROM mcc_coach WHERE id IN('9,10')

, это означает, что вы применяете оператор в одном идентификаторе, который содержит значение через запятую. Итак, правильный запрос будет

SELECT coach_name FROM mcc_coach WHERE id IN('9','10')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...