자료 조회가 이상합니다.

자료 조회가 이상합니다.

QA

자료 조회가 이상합니다.

답변 3

본문

안녕하세요.

 

저의 테스트 환경은 아래와 같습니다.

  • Apache
  • 데이터베이스 클라이언트 버전: libmysql - mysqlnd 8.1.9
  • PHP 확장: mysqli 문서 curl 문서 mbstring 문서
  • PHP 버전: 8.1.9
  • GNU Version 5.5.8.3.2

디버깅해서 확인한 SQL 문의 결과가 1로 나옵니다.


SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM g5_write_ebook WHERE ((INSTR(wr_subject, '이상')) ) and (wr_num between -81 and (-81 + 10000))

 

그런데 실제 테이블에는 더 많은 레코드가 있거든요.

 

테이블이 아래와 같구요.

1914117670_1705798090.3599.png


걸리는 것은 사용환경이 맥북인데, 여기저기 뒤져보니 맥북의 한글처리가 문제가 있는것처럼 보이는데, 그걸까요?

테이블 인코드는 utf8_general_ci 입니다.

 

phpmyadmin에서 위 SQL을 던져도 결과는 같습니다. 

instr 대신이 like를 사용해도 같은 결과가 나오더라구요.

 

귀신에 홀린것도 아니고...

 

경험이 있으신 분의 조언을 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 3

cnt가 1로 나온다는 건가요?row가1개 나온다는건가요?

위 sql문에서는 row가 1개 나오는건 정상이고, cnt는 1이나오면 이상한게 맞습니다.


SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM g5_write_ebook WHERE ((INSTR(wr_subject, '이상')) ) and (wr_num between -81 and (-81 + 10000));
SELECT * FROM g5_write_ebook WHERE ((INSTR(wr_subject, '이상')) ) and (wr_num between -81 and (-81 + 10000));

모두 1개 나옵니다.

'날개 이상', '날개(이상).epub' 값이 실제로는

thumb-3419630329_1705814535.5534_730x81.png이상하게 저장되어 있습니다.

희안하게도 화면에 보이는 것은 모아쓰기가 되어 있네요. ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 153
© SIRSOFT
현재 페이지 제일 처음으로