jiphyeonjeon-42 / backend

3rd development of 42-jiphyeonjeon web service backend.
https://jiphyeonjeon-42.github.io/backend/
24 stars 7 forks source link

검색 시 '?' 문자열 에러 #797

Open chanhihi opened 10 months ago

chanhihi commented 10 months ago

재현 방법

image image

2개 이하까지 SQL에러 발생

3개 이상은 가능

발생 위치

검색

추가 정보

No response

Jake1152 commented 10 months ago

SQL LIKE %% 부분에 걸리는 것으로 추정 "C++" 처리했던 것처럼 특수문자 일부를 걸러주어야할 것으로 판단됨 금요일에 수정 예정

Jake1152 commented 10 months ago

%를 입력하는 경우 전체 검색이 됨 SQL LIKE에 걸려서 인것으로 판단됨 \%가 붙게 만드는 등 SQL 구문이 아닌 일반 문자열로 인식되게 해야함 image

image

image

Jake1152 commented 10 months ago

?의 경우 검색결과 미리보기에서는 error가 없이 결과가 나오는데 검색을 하면 에러 발행함 둘의 로직이 비슷한데 어느 부분에서 차이점이 발생하는지 파악 필요

image

Jake1152 commented 10 months ago

검색어를 토대로 LIKE로 SQL에 select하는 부분에서 특수문자 ?, % 처리가 잘 안되는 것으로 판단하여 SQL의 LIKE와 ESCAPE 조건을 추가하고, 검색어에 특수문자가 있으면 ESCAPE 문자를 추가하여 처리하고자 하였습니다

하지만 그것만으로는 해결되지 않고 여전히 검색결과 미리보기와 검색이 서로 다르게 나오고 있는 상황입니다

'?'의 경우 아직 안되는 중 transaction에 이슈가 있는 것으로 판단됩니다

추후에 이어서 디버깅 예정 To be continue... image

image