답변 3개
채택된 답변
+20 포인트
4년 전
그누보드에서는 sql문에서 'union' 의 사용을 허락하지 않고 있어서 그렇습니다.
/lib/common.lib.php
// union의 사용을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*[\s\(]+union[\s\)]+.*#i ", "select 1", $sql);
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
4년 전
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() 으로 변경
댓글을 작성하려면 로그인이 필요합니다.
4년 전
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개
댓글을 작성하려면 로그인이 필요합니다.
4년 전
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택