PHP MySQL выбрать, где $ id в строке - PullRequest
0 голосов
/ 05 сентября 2018

как я могу выбрать значения из таблицы, где мое переданное значение идентификатора находится внутри строки? Значения столбцов могут быть 3326,9023,3725,552,1559 или 3326, это строка из n значений. Мне нужно получить строку, если мой переданный идентификатор находится внутри этой строки.

Запрос:

$result = $this->db->query("
        SELECT b.*
        FROM `values` AS `b`
        WHERE b.ids = ?
    ", array($id))->row_array();

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Если список идентификаторов находится в значениях столбца, вы можете использовать FIND_IN_SET для поиска переданного идентификатора:

$result = $this->db->query("
        SELECT b.*
        FROM `values` AS `b`
        WHERE FIND_IN_SET(?, b.ids)
    ", array($id))->row_array();
0 голосов
/ 05 сентября 2018

используйте in, если хотите использовать список идентификаторов

SELECT b.*
        FROM `values` AS `b`
        WHERE b.ids in (3326,9023,3725,552,1559,3326) // your list of ids

но если значение является строкой, используйте FIND_IN_SET

 WHERE FIND_IN_SET(table.id, commaSeparatedstringvalue);
...