Database 소개
고도몰의 Database 관련 메서드 및 사용법을 를 소개하는 내용입니다.
📌 주요 function
bind_param_push
bind_param_push($bindParam, $type, $value)binding처리를 위한 파라미터를 정의하고 배열형태로 저장합니다.
WHERE 절에 저장될 파라미터 정보 타입인
$type과 파라미터 값인$value를 배열형태의$bindParam값으로 저장하여 반환합니다.
query_complete
query_complete($isReset)멤버 변수에 저장했던 쿼리문의 각 요소
(field, join, where, group, order. limit)값에 조건절에 맞는 쿼리문을 추가하여 값을 생성합니다.bool타입의$isReset파라미터로 사용한 멤버 변수의 리셋 여부를 설정할 수 있습니다.
query_fetch
query_fetch($strSQL, array $arrBind, bool $dataArray)$strSQL에 쿼리문을 저장하고, binding처리된 파라미터가 저장된$arrBind로 쿼리 결과를 출력합니다.$arrBind는 반드시 배열타입으로 지정해야 합니다.bool타입의$dataArray파라미터로 결과 데이터의 배열 타입 출력 여부를 결정합니다.
get_binding
binding 데이터를 배열처리하여 결과를 반환합니다.
$defaultSetting에는 처리할 테이블의 기본값 배열을 저장하고$arrInclude에는$defaultSetting에 저장된 기본값 배열에서 사용할 필드명을,$arrExclude에는 제외할 필드명을 저장합니다.$arrData에는 처리할 데이터,$dbType에는 처리 방식(insert|update|select|delete)을 저장하여 기본값 데이터에서 처리할 데이터를 추출하여 배열형태로 결과를 반환합니다.
set_insert_db
$dbTable에 저장할 테이블 명을 넣고 해당 테이블 데이터 필드 정보가 담긴$arrTableField와 값 정보가 담긴$arrTableValue로 insert 쿼리를 실행합니다.$bindChk파라미터에‘y’값을 저장하면 쿼리에 저장되어있는 파라미터를 binding 처리하여 쿼리를 실행합니다.
set_update_db
$dbTable에 수정할 테이블 명을 넣고 수정할 테이블의 필드 및 값 정보가 담긴$arrTableParam과 WHERE 절이 담긴$strWhere, binding처리된 파라미터 배열 값인$arrBindParam을 받아 update 쿼리를 실행합니다.실행 후 update가 적용된 레코드 개수를 반환합니다.
set_delete_db
$dbTable에 내용을 삭제할 테이블 명을 넣고 WHERE 절이 담긴$strWhere, binding처리된 파라미터 배열 값인$arrBindParam을 받아 delete 쿼리를 실행합니다.실행 후 delete가 적용된 레코드 개수를 반환합니다.
bind_query
쿼리문이 담긴
$strSQL값과 binding 처리할 파라미터가 담긴$arrBind값을 받아 쿼리를 실행합니다.
getCount
해당 테이블의 쿼리 결과에 대한 row count를 반환합니다.
📌 Usage
선언
생성자에서 선언
메소드 내에서 선언
SELECT
예제 코드 1
위와 같이 필드와 조인, WHERE 절, GROUP BY 절, ORDER BY 절, LIMIT 값을 멤버 변수에 설정 한 후에
query_complete()메소드로 설정한 조건들을 적용시킵니다.WHERE 절이 있다면
bind_param_push()메소드로 해당 파라미터를 binding 처리해줍니다.쿼리문 설정 후,
query_fetch()메소드를 통해 실행 결과를 출력합니다.
예제 코드 2
쿼리문 내에 조건절까지 포함하여 쿼리문 변수를 선언한 후에
query_fetch()메소드로 결과를 반환합니다.
INSERT
예제 코드 1
get_binding()메소드를 통해 INSERT할 테이블 데이터 배열을 가져옵니다.set_insert_db()메소드를 통해get_binding()메소드로 변환된 배열 값을 해당 테이블에 INSERT 해줍니다.
예제 코드 2
insert 쿼리문을 선언합니다.
INSERT할 파라미터를
bind_param_push()메소드로 정의하고bind_query()메소드를 통해 쿼리문을 실행합니다.
UPDATE
예제 코드 1
get_binding()메소드로 수정할 테이블 정보를 배열 형태로 받아온 후,bind_param_push()로 WHERE 절 파라미터를 정의합니다.set_update_db()메소드를 통해 수정합니다.
예제 코드 2
bind_param_push()메소드로 WHERE 절 파라미터를 정의 후,bind_query()메소드로 쿼리문을 실행합니다.
예제 코드 3
updateBinding()메소드로 수정할 테이블 배열 값을 받아 온 후bind_param_push()메소드로 WHERE 절 파라미터를 정의합니다.set_update_db()메소드로 데이터를 수정합니다.
DELETE
예제 코드 1
bind_param_push()메소드로 삭제할 쿼리의 WHERE 절 파라미터를 정의합니다.set_delete_db()메소드로 삭제 쿼리문을 실행하여 WHERE 절 조건과 일치하는 레코드를 삭제합니다.
예제 코드 2
delete 쿼리를 선언하고 WHERE 절 파라미터를
bind_param_push()메소드로 정의합니다.bind_query()로 쿼리문을 실행하여 WHERE 절에 맞는 레코드를 찾아 삭제합니다.
Transaction
트랜잭션을 이용하기 위해서는, 코드 블럭을 아래와 같이 감싸면 됩니다.
Closure 를 이용하여 좀더 심플한 코드를 작성할 수 있습니다.
Last updated
Was this helpful?
