• Q&A
  • 회원가입
  • 로그인

[질문] 이름을 검색하는 경우

인터넷으로 검색을 해보다가 질문을 올립니다.

WHERE mb_name='$mb_name' and mb_hp='$mb_hp'
이라는 조건절을 만족하는 데이터를 찾는 경우들은 익숙했습니다.

그런데, <홍길동>만 입력해서, 홍길동, 홍길동1, 홍길동2으로 된 정보들을 모두 찾으려고 할 때는 어떻게 해야할까요?

쿼리문에 LIKE 홍길동%을 입력해보니 오류가 납니다.

no_profile 이할인 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2021-10-23 (토) 12:45 2개월전
SELECT *
FROM `g5_member`
WHERE `mb_name`='홍길동' or`mb_name`='홍길동%'
LIMIT 0 , 30

이것도 오답이네요. ㅠㅠ
주소
     
     
홈짱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2021-10-23 (토) 13:03 2개월전
[@이할인] SELECT * FROM `g5_member` WHERE `mb_name` LIKE ' 홍길동%';
주소
          
          
no_profile 이할인 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2021-10-23 (토) 13:07 2개월전
[@홈짱] 홍길동 대신에 변수인 $mb_name을 넣어야 하는 경우에는 어떻게 연결시키죠? 문자열을 연결하는 +를 사용해볼게요
주소
no_profile 이할인 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2021-10-23 (토) 13:11 2개월전
WHERE mb_name LIKE '$mb_name'+'%' and mb_hp='$mb_hp'
주소
     
     
홈짱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2021-10-23 (토) 13:23 2개월전
[@이할인] 변수 부분을 중괄호로 묶어보세요.

$mb_name = "홍길동";
$sql = "SELECT * FROM `g5_member` WHERE `mb_name` LIKE '{$mb_name}%'";
$result = sql_query($sql);
for($i=0; $row = sql_fetch_array($result); $i++) {
print_r2($row);
}
주소
no_profile 이할인 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2021-10-23 (토) 16:26 2개월전
와... 됩니다.
중괄호가 이런 기능을 하다니.
인터넷 검색으로 많은 시간을 보냈는데. 결국 홈짱님 덕분에 해결하네요.
중괄호에 대해서 추가적으로 좀더 공부하고, 문자열에 대해서도 공부해야겠습니다. 정말 감사합니다.
주소
찾아주셔서 감사합니다. Since 2012