개발! 딱 깔끔하고 센스있게!

My SQL & PHP: 다 키워드 검색 본문

개발 스크랩 메모/PHP

My SQL & PHP: 다 키워드 검색

렉사이 2020. 11. 29. 23:55

쉼표 와 키 워드 를 포함 한 문자열 이 있 습 니 다.

예 를 들 어:

$keywords = 'keyword1, keyword2, keyword3'; 

tbl address 라 는 표 구조 가 다음 과 같 습 니 다 (간소화):

id INT(11) PRIMARY KEY, AUTO INCREMENT address VARCHAR(250) NOT NULL 

내 가 PHP 에 My SQLi 를 써 야 한다 고 가정 해 봐.

다음은 현재 제 가 하고 있 는 일 입 니 다.

$result = array(); $keyword_tokens = explode(',', $keywords); foreach($keyword_tokens as $keyword) { $keyword = mysqli_real_escape_string(trim($keyword)); $sql = "SELECT * FROM tbl_address WHERE address LIKE'%$keyword%'"; // query and collect the result to $result // before inserting to $result, check if the id exists in $result. // if yes, skip. } return $result; 

이런 방법 은 매우 효과 적 이지 만 효율 은 낮다.

만약 많은 키 워드 를 가지 고 있다 면, 그것 은 많은 조 회 를 진행 할 것 이다.

내 문 제 는 같은 목 표를 이 룰 수 있 는 더 좋 은 방법 이 있 느 냐 는 것 이다.

i, e. 모든 키 워드 를 포함 한 주 소 를 되 돌려 주 는 가장 쉬 운 방법 은 무엇 입 니까?

대답 하 다.

간단 한 REGEXP 가 원 하 는 것 일 수도 있 습 니 다.

너 는 이것 이 너 자신 에 게 얼마나 효과 가 있 는 지 검사 해 봐 야 한다.

tble address 에서 * 필드 REGXP 'key word1 | key word2 | key word3' 선택;

Comments