쿼리문 처리시 관련문의드립니다.

쿼리문 처리시 관련문의드립니다.

QA

쿼리문 처리시 관련문의드립니다.

본문

안녕하세요 질문하나 가지고왔습니다. ㅎ;

$conn = new mysqli(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD, G5_MYSQL_DB);

 

// 연결 확인

if ($conn->connect_error) {

    die("데이터베이스 연결 실패: " . $conn->connect_error);

}

 

$sql = "SELECT

            SUM(CASE WHEN g5_member.mb_sex = 'F' THEN 1 ELSE 0 END) AS 여댓글의수,

            SUM(CASE WHEN g5_member.mb_sex = 'M' THEN 1 ELSE 0 END) AS 남댓글의수,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) BETWEEN 10 AND 19 THEN 1 ELSE 0 END) AS age_10,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) BETWEEN 20 AND 29 THEN 1 ELSE 0 END) AS age_20,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) BETWEEN 30 AND 39 THEN 1 ELSE 0 END) AS age_30,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) BETWEEN 40 AND 49 THEN 1 ELSE 0 END) AS age_40,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) BETWEEN 50 AND 59 THEN 1 ELSE 0 END) AS age_50,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) BETWEEN 60 AND 69 THEN 1 ELSE 0 END) AS age_60,

            SUM(CASE WHEN TIMESTAMPDIFF(YEAR, STR_TO_DATE(g5_member.mb_birth, '%Y-%m-%d'), NOW()) >= 70 THEN 1 ELSE 0 END) AS age_70

        FROM g5_write_notice

        JOIN g5_member ON g5_write_notice.mb_id = g5_member.mb_id

        WHERE wr_is_comment = 1";

 

$result = $conn->query($sql);

네 소스에 문제는 없구요 궁금한게 있어서 질문드립니다.

저는 매번 이런식으로 서버측을 처리를 하고있는데 쿼리문 처리할때 꼭 위처럼 디비접속을 하지않고 처리 하는 법도 있는듯하여 올려봅니다. 혹시나 있으시면 조언좀 부탁드려요

 

이 질문에 댓글 쓰기 :

답변 4

스킨 파일이면 굳이 conn을 안 하시고 쿼리를 실행하셔도 되지 않나요?

$result = $conn->query($sql);

->

$result = sql_query($sql);

이렇게 하셔도 될꺼 같습니다.

common.php 파일을 상단에 인클루드 시키면 됩니다.

아...이게 스킨파일인데 그렇게 해도되나요?...;;
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
상단에 여기에 추가하면 ..다른 문제 는 생기지 않은지요?

저는 매번 이런식으로 서버측을 처리를 하고있는데 쿼리문 처리할때 꼭 위처럼 디비접속을 하지않고 처리 하는 법도 있는듯하여 올려봅니다. 혹시나 있으시면 조언좀 부탁드려요

==

없습니다. 다만 common.php에서 하고 있습니다.

스킨 파일에서 왼만하면 작업을 안하시는것이 좋아보입니다. 디비 인젝션에 취약합니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 10,635
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT