각 행에 대해 다음과 같은 숫자가 포함 된 열이 있습니다. 1,4,6,3,16,13
. 그 번호를 포함하는 행을 어떻게 검색합니까? 1
을 11
또는 6
에서 16
까지 오해해서는 안됩니다.적어도 검색 쿼리가 포함 된 행 선택
SELECT FROM table WHERE category LIKE %$query$%
테이블 구조 :
id | title | category | description | rating
각 행에 대해 다음과 같은 숫자가 포함 된 열이 있습니다. 1,4,6,3,16,13
. 그 번호를 포함하는 행을 어떻게 검색합니까? 1
을 11
또는 6
에서 16
까지 오해해서는 안됩니다.적어도 검색 쿼리가 포함 된 행 선택
SELECT FROM table WHERE category LIKE %$query$%
테이블 구조 :
id | title | category | description | rating
SELECT * FROM table WHERE FIND_IN_SET(1, category) != 0
을 1
이고 어떤 당신이 찾고있는 번호.
위대한 솔루션, 그냥'FIND_IN_SET'에 대해 알고 +1 –
@MichaelRushton, 정말 고마워! – Michelle
이 normalizing 스키마를 고려하고 별도의 테이블에 CATEGORY_ID을 넣어.
직접 귀하의 질문에 대답하기 위해, 시도 : SQL Injection로부터 자신을 보호하기 위해
WHERE category LIKE "$query,%" OR category LIKE "%,$query,%";
을 그것을 사용하는 경우, 있는지 확인 $ 쿼리를 수행하여 숫자 만 포함 $query = preg_replace('/[^0-9]/i', '', $query);
테이블 구조를 게시하십시오 –
요청에 따라 게시하십시오. – Michelle