본문 바로가기
개발준비

방어적코딩 적용예시

by 장김치 2016. 8. 19.


[키값사용시 방어적 코딩]


키값을 가져오고 넘기는데도 방어적 코딩이 사용된다.

먼저 키값이 없을때 데이터를 받아올수 없는 상황에 대한 처리를 해줘야 하는데 다른 예외처리는 해줄 필요가 없다. 다만 키값이 공백이 아니라면 쿼리문을 실행하는 조건문을 정의해주어야 한다.


ex) 


if ($key != '')

{

$qry = " and pd_idx = '{$key}'";

}




[쿼리문 사용시 방어적 코딩]


DB에서 데이터를 가져오는 쿼리를 작성할때  "limit 1" 을 사용하여 혹시모를 누락에 대비한다.

그리고 서브쿼리(이너쿼리)를 사용하게 될시 이너쿼리는 하나의 필드값만 가지고 올수 있으므로 필수적으로 "limit 1" 을 사용해주는것이 좋다. 


ex)

select *

,(select pdo_color from product_option where pdo_idx = product_option_maping.pdo_idx limit 1) as pdo_color

,(select pdo_name from product_option where pdo_idx = product_option_maping.pdo_idx limit 1) as pdo_name

from product_option_maping where pd_idx = '키값'