테스트 사이트 - 개발 중인 베타 버전입니다

sql 쿼리값이 이상합니다 ㅠㅠ 채택완료

타조 11년 전 조회 5,231
값이 맞지 않아
입력받는 값을 직접 찍어보니 이게 정상인지 제가 잘 모르는건지 모르겠습니다.
 
우선
해당 테이블에 wr_7 필드에는 1, 3, 9, 22 의 값이 들어있고요
아래 테스트를 위해 문장을 아래처럼 별도로 실행시켜보니
 
$s_str' and '$s_end'  => 이 값을 1과 9로 입력 하면
$total_count_2 값이 4가 나오고  $row_2[wr_7]도 1,3,9,22 이렇게 모두 나오는데
 
$s_str' and '$s_end'  => 이 값을 1-10 으로 입력하면
$total_count_2 값이 1이 나오고 $row_2[wr_7]도 1로 출력되네요 ㅠㅠ
 
select 에서 between A and B 하면 A~B 이상 이하 값이 중복없이 모두 나와야 하는게 아닌지요? ㅠㅠ
좀 알려주세요. ㅠㅠ
 
아래는 검사한 코드입니다.
 
</div>
<div> </div>
<div> $sql_2 = "select * from $write_table where wr_7 between '$s_str' and '$s_end'";</div>
<div> </div>
<div>// 검사해서 값 보기</div>
<div> $result_2 = sql_query($sql_2);</div>
<div> $total_count_2 = mysql_num_rows($result_2);</div>
<div> </div>
<div>echo $total_count_2; // between 에 속하는 갯수 출력</div>
<div>for ($i=0; $row_2=sql_fetch_array($result_2); $i++) {
echo  $row_2[wr_7]; // wr_7 필드값 모두보기</div>
<div> </div>
<div>
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
D
11년 전
wr_7은 mysql data 타입이 숫자가 아니라 문자입니다.
(wr_7+0) between '$s_str' and '$s_end'
어차피 인덱스 사용을 안 한다면 사용하실 수 있습니다.
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인