LogoLogo
NHN커머스 메인고도몰 운영 도움말
  • 고도몰 튜닝 가이드
    • Intro
    • 이해하기
      • 용어
      • 구조
        • 튜닝 진행 방법
        • 튜닝 가능 범위
        • 고도몰 아키텍쳐(Architecture)
        • 코딩 규칙
        • 네이밍 규칙
    • 준비하기
      • 심화 구조 이해
        • Routing 소개
        • Controller 소개
        • HTTP 소개
        • Database 소개
        • Security 소개
        • Exception 소개
        • Language 소개
      • 오픈 API 사용가이드
        • 인증키 발급 방법 안내
        • 공급사 이용 방법 안내
    • 튜닝하기
      • 소스 코드 튜닝
        • 기본 튜닝 방법
        • 컨트롤러 튜닝 방법
        • 템플릿 튜닝 방법
        • 튜닝 시 유의사항
      • 데이터베이스 튜닝
        • 튜닝 방법
        • 튜닝 시 유의사항
        • 고도몰 테이블 명세서
        • PhpMyAdmin 이용
      • 디버깅 방법
      • 패치 확인 및 대응 방법
    • 튜닝 따라하기
      • 관리자 GNB 색상 변경하기
      • 즐겨찾기 메뉴 바로가기 만들기
      • 관리자 메뉴 추가하기
      • 관리자 메뉴 수정하기
      • 관리자 페이지 추가하기
      • 관리자 페이지 수정하기
      • 사용자 페이지 추가하기
      • 사용자 페이지 수정하기
    • 잘못된 튜닝사례
      • 상속 미준수
      • 메소드 관련
      • 그 외
  • 기타 개발 가이드
    • 로그 사용 가이드
    • [PMA] 내보내기(export) 이용 안내
    • 외부 스크립트 사용 가이드
    • SDK 사용 가이드
    • [DB] 사용 가이드
  • 튜닝가이드 영상 보기
Powered by GitBook
LogoLogo

NHN COMMERCE

  • 공지사항
  • 회사소개

Partners

  • 서비스 제휴문의
  • 셀러어드민
  • 디자인 파트너

Developers

  • 스토어

©NHN COMMERCE Corp. All rights reserved.

On this page

Was this helpful?

  1. 기타 개발 가이드

[DB] 사용 가이드

DB Prepare Statement 바인딩 가이드

사용 예시

// db 모듈 호출
$db = \App::getInstance('DB');

// bind 할 배열 생성
$arrBind = [];

// prepare statement query 생성
$query = "SELECT COUNT(*) as cnt FROM "
    . CUSTOM_TABLE 
    . " WHERE sno = ? AND customColumn = ?";

// 데이터 바인딩
// 첫 번째 ?에 $customSno가 바인딩됩니다 (정수)
$db->bind_param_push($arrBind, 'i', $customSno);
// 두 번째 ?에 $customColumn가 바인딩됩니다 (문자열)
$db->bind_param_push($arrBind, 's', $customColumn);
// 쿼리 실행
$result = $db->query_fetch($query, $arrBind, false);
unset($arrBind);

return $result['cnt'];

DB Prepare Statement 바인딩 사용 방법

  • 쿼리문 내에서 바인딩이 필요한 값은 ?로 표시해 주시기 바랍니다.

  • 각 ?에는 bind_param_push로 추가한 값이 입력 순서대로 차례로 바인딩됩니다.

    • 예를 들어, 첫 번째 bind_param_push의 값은 쿼리의 첫 번째 ?에, 두 번째 값은 두 번째 ?에 바인딩됩니다.

  • 파라미터는 $db->bind_param_push($arrBind, '타입', $값); 형태로 바인딩 배열에 추가해 주시면 됩니다.

  • 쿼리 실행 시에는 $db->query_fetch($query, $arrBind, false);와 같이 바인딩 배열을 함께 전달해 주세요.

  • 바인딩 타입은 아래 표를 참고하여 데이터 타입에 맞게 지정해 주시기 바랍니다.

  • 이 방식을 사용하시면 SQL 인젝션을 효과적으로 방지할 수 있으며, 코드의 가독성과 유지보수성도 높아집니다.

바인딩 타입 표

타입
설명

i

int(정수)

d

float(실수)

s

string(문자열)

b

blob(이진 데이터, 패킷 단위로 전송)

PreviousSDK 사용 가이드

Last updated 6 days ago

Was this helpful?