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

특정 테이블 왜안되는지아시는분 채택완료

그누소스 3년 전 조회 1,836

SELECT * FROM g5_write_dr WHERE v_channel like '%NETFLIX%' UNION SELECT * FROM g5_write_m WHERE v_channel like '%NETFLIX%' ORDER BY `wr_datetime` DESC limit 0, 24

 

 

mysql에서는 검색되는데 for문하니안되는데왜그런가요 ?

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

답변 3개

채택된 답변
+20 포인트
3년 전

그누보드에서는 sql문에서 'union' 의 사용을 허락하지 않고 있어서 그렇습니다.

 

/lib/common.lib.php

// union의 사용을 허락하지 않습니다.

$sql = preg_replace("#^select.*from.*[\s\(]+union[\s\)]+.*#i ", "select 1", $sql);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

그누소스
3년 전
헐그렇네요 특정테이블 게시글만 가져오는방법없을까요 ?
트샷
3년 전
1) /lib/common.lib.php 의 function sql_query() { ~ } 복사
2) /extend/user.config.php 에 붙여넣기
3) 함수명 sql_query_u() {~} 으로 변경
4) sql_query_u() 함수의 내용중에서 다음부분 변경
$sql = preg_replace("#^select.*from.*[\s\(]+union[\s\)]+.*#i ", "select 1", $sql);
->
$sql = preg_replace("#^select.*from.*#i ", "select 1", $sql);
5) sql_query() 호출 부분 -> sql_query_union() 으로 변경

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

스피드S
3년 전

UNION 사용하실때 가급적 * 대신 필드명 넣어서 사용하시는게 정신건강에 좋습니다~

요즘 보통 mariaDB 쓰실거라 생각하고 아래 처럼해보세요

</p>

<p>$sql="SELECT wr_subject, wr_content, wr_datetime FROM g5_write_dr WHERE v_channel like '%NETFLIX%' UNION SELECT wr_subject, wr_content, wr_datetime FROM g5_write_m WHERE v_channel like '%NETFLIX%' ORDER BY `wr_datetime` DESC limit 0, 24";</p>

<p>$result=mysqli_query($g5['connect_db'], $sql);</p>

<p>$row=sql_fetch_array($result);</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그누소스
3년 전
감사합니다.

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

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

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

로그인