채택완료
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개 / 댓글 6개
채택된 답변
+20 포인트
마르스컴퍼니
2020-09-18 (금) 14:02:30
※ https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=153
Copy
$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}
";
답변에 대한 댓글 1개
freed
2020-09-18 (금) 15:33:17
2020-09-18 (금) 14:45:11
Copy
$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) ...";
위에게 되면 아래것도 됩니다.
만약 아래처럼 고쳤는데 안나온다면 쿼리 결과가 없는겁니다.
답변에 대한 댓글 1개
freed
2020-09-18 (금) 15:32:21
이거 자꾸 퀄리결과가 안나와서 뭐지 했는데
cut_str쓸때 그냥 숫자로 괄호 닫아버리면 ...처리가 들어가버려서
스트링 비교할때 ...때문에 결과가 안나오네요. 3. '') 이런식으로 끝내야되더라구요.
오늘 덕분에 좋은걸 알았습니다 고맙습니다.
cut_str쓸때 그냥 숫자로 괄호 닫아버리면 ...처리가 들어가버려서
스트링 비교할때 ...때문에 결과가 안나오네요. 3. '') 이런식으로 끝내야되더라구요.
오늘 덕분에 좋은걸 알았습니다 고맙습니다.
2020-09-18 (금) 13:52:45
새로운 페이지만들어서 작업하시는지?
혹시 common.php include 되있으신지..?
답변에 대한 댓글 1개
freed
2020-09-18 (금) 15:31:22
넵 기존 그누보드에서 lib/latest.lib.php 내용이라서 인클루드는 되있을꺼에요
2020-09-18 (금) 13:12:17
![]()
위와 같은 오류가 난다면 우선 변수 선언이 안되어서 나는 오류입니다.
![]()
위처럼 하면 오류는 없어집니다.
변수에 어떤값이 들어갔는지 확인이 필요합니다.
echo $sql;
실행 결과를 확인해보세요.
답변에 대한 댓글 1개
freed
2020-09-18 (금) 15:30:39
아 저기 중간에도 echo로 변수 출력되는지 오늘 처음알았네요 나름 오래썼는데
공유 감사드립니다! 몰랐던게 그냥 cut_str로 썼더니 ...이 들어가버려서 스트링 비교에서 출력을 못하더라구요 고맙습니다
공유 감사드립니다! 몰랐던게 그냥 cut_str로 썼더니 ...이 들어가버려서 스트링 비교에서 출력을 못하더라구요 고맙습니다
2020-09-18 (금) 11:48:16
SELECT LEFT('가나다라마바사', 3)
답변에 대한 댓글 1개
freed
2020-09-18 (금) 12:05:05
$sql = " select * from {$tmp_write_table} where .... wr_6 = LEFT('{$view['wr_6']}', 3) order by wr_num limit
이렇게 하면 안되네요 이게 상용환경이라 테스트가 디테일하게 못해서 어렵습니다.
간단한거 같은데 문법잘못쓴거같은데 어렵네요 ㅠ
이렇게 하면 안되네요 이게 상용환경이라 테스트가 디테일하게 못해서 어렵습니다.
간단한거 같은데 문법잘못쓴거같은데 어렵네요 ㅠ
2020-09-18 (금) 11:22:31
답변에 대한 댓글 1개
freed
2020-09-18 (금) 12:07:46
넵 저도 문법 찾아보긴 했는데
이게 lib/latest.lib.php를 고치는거다보니까 틀리면 사이트가 안나오더라구요 그래서 간단한거같은데 어려워서 문의드렸습니다.
이게 lib/latest.lib.php를 고치는거다보니까 틀리면 사이트가 안나오더라구요 그래서 간단한거같은데 어려워서 문의드렸습니다.
답변을 작성하려면 로그인이 필요합니다.
sql 안에다가 cut_str쓸라그랬는데 아에 안되네요 저게 맞더라구요!