SQL문 where에서 글자 자르기 (cut_str? substr?)
본문
안녕하세요
간단한거같은데 잘 안되서 질문드립니다.
최근게시물 sql 인데요
<?
중략
$sql = " select * from {$tmp_write_table} where {$options} wr_is_comment = 0 and wr_6 ='{$view['wr_6']}' order by wr_num limit 0, {$rows} ";
중략
?>
where문의 여분필드6
wr_6 ='{$view['wr_6']}'
여기서 view wr_6을 앞에 한글기준 3글자만 잘라서 wr_6과 같은지 비교하라고 하고싶은데
자꾸 에러가 나네요. 혹시 정확한 수정 문구 알 수 있을까요?
이게 <? ?> php 표시때문에 더 햇갈리네요. 중간에 ?>로 종료하고 다시 <?를 열어서 써야되나 싶기도 하고 그러네요.
감사합니다.
답변 6
※ https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=153
$str = cut_str($view['wr_6'], 3, '');
$sql = "
select *
from {$tmp_write_table}
where {$options} wr_is_comment = 0
and wr_6 ='{$str}'
order by wr_num limit 0, {$rows}
";
위와 같은 오류가 난다면 우선 변수 선언이 안되어서 나는 오류입니다.
위처럼 하면 오류는 없어집니다.
변수에 어떤값이 들어갔는지 확인이 필요합니다.
echo $sql;
실행 결과를 확인해보세요.
$sql = " select * from {$tmp_write_table} where .... wr_6 = '{$view['wr_6']}' ...";
$sql = " select * from {$tmp_write_table} where .... wr_6 = LEFT('{$view['wr_6']}', 3) ...";
위에게 되면 아래것도 됩니다.
만약 아래처럼 고쳤는데 안나온다면 쿼리 결과가 없는겁니다.
!-->SELECT LEFT('가나다라마바사', 3)
새로운 페이지만들어서 작업하시는지?
혹시 common.php include 되있으신지..?
답변을 작성하시기 전에 로그인 해주세요.