답변 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() 으로 변경
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() 으로 변경
댓글을 작성하려면 로그인이 필요합니다.
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년 전
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인