Как выбрать из Mysql значения, разделенные запятыми?

Моя таблица Mysql названа Компания ниже

id--username---countries

1---taner--------1,2,3
2---tom----------2,3
3---Jack---------1,3
4---Jenny--------1

У меня есть форма, и я отправляю страну из нее.

<select name="country" >
<option value="1" >Turkey</option>
<option value="2" >England</option>
<option value="3" >USA</option>
</select>

И когда я отправляю форму и получаю значение POST страны.

$country=$_POST['country'];
SELECT * FROM company where country='$country';
..............................

Моя цель — получить этот запрос и перечислить данные, относящиеся к почтовому значению, если Англия выбрала taner и tom, должны быть перечислены, потому что значение параметра England равно 2, и в моей базе данных только tom и taner содержат значение этой страны.

Итак, что вы посоветуете?

-1

Решение

Используйте MySQL FIND_IN_SET() функция.

Вот ссылка:

Итак, ваш запрос должен быть таким:

$query = "SELECT * FROM company WHERE FIND_IN_SET('$country', country)";
5

Другие решения

Ты можешь использовать Сопоставление с образцом джокер оператор, чтобы сделать это

SELECT * FROM company where country LIKE '%$country%';

Надеюсь эта работа. Но в соответствии с VR46 не рекомендуется использовать значения в столбце через запятую.

1

Вы можете использовать LIKE способность mysql:

SELECT * FROM company WHERE country LIKE '%$country%';
1