728x90
PDO에서 NULL 값을 반환하는 것이 Legacy PHP 와 약간 달라서 주의가 필요해서 적어둔다.
<?php
class adminClass extends DBDataClass {
function BldTypeNMFromID($codeID){
$sql = "select codeNM from bldingTypeNM where codeID=?";
$params = array($codeID);
$stmt = $this->db->prepare($sql);
$stmt->execute($params);
if($row = $stmt->fetch()){
return $row[0];
}
}
function BldTypeIDFromNM($codeNM){
if(strlen($codeNM) < 1) return 2; // 값이 없으면, 2번 코드 반환
$sql = "select codeID from bldingTypeNM where codeNM=?";
$params = array($codeNM);
$stmt = $this->db->prepare($sql);
$stmt->execute($params);
if($row = $stmt->fetch()){
return $row[0];
} else { // NULL 인 경우, 신규 추가 및 신규 추가한 코드 반환
$this->putBldTypeIDFromNM($codeNM);
return $this->maxBldTypeID();
}
}
function putBldTypeIDFromNM($codeNM) {
if($this->isBldTypeID($codeNM) == 0){
$sort = $this->maxBldTypeID();
$sort = (int)$sort + 1;
$sql = "INSERT INTO bldingTypeNM (codeID, codeNM, sort) VALUES (?,?,?)";
$params = array($sort,$codeNM,$sort);
$stmt = $this->db->prepare($sql);
$stmt->execute($params);
}
}
function maxBldTypeID(){
$sql = "select max(codeID) FROM bldingTypeNM";
$stmt = $this->db->prepare($sql);
$stmt->execute();
if($row = $stmt->fetch()){
return $row[0];
}
}
function isBldTypeID($codeNM){
$sql = "select count(*) FROM bldingTypeNM WHERE codeNM=?";
$params = array($codeNM);
$stmt = $this->db->prepare($sql);
$stmt->execute($params);
if($row = $stmt->fetch()){
return $row[0];
} else {
return 0;
}
}
function BldTypeMNArray(){
$sql="SELECT * from bldingTypeNM order by sort ASC";
$stmt = $this->db->prepare($sql);
$stmt->execute();
while($row = $stmt->fetch()){
$charge[$row[0]]=$row[1];
}
return $charge;
}
}
?>
|
테이블 구조
CREATE TABLE `bldingTypeNM` (
`codeID` int(10) UNSIGNED NOT NULL DEFAULT 0,
`codeNM` varchar(40) DEFAULT NULL,
`sort` int(3) NOT NULL DEFAULT 1
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `bldingTypeNM`
ADD PRIMARY KEY (`codeID`);
|
728x90
'Web 프로그램 > PDO' 카테고리의 다른 글
PDO 로그인 6개월 경과 접속 차단 기능 (1) | 2022.09.30 |
---|---|
PDO Update Query(비밀번호 변경 예제) (0) | 2021.03.23 |
PHP PDO 500 에러메시지 해결 (0) | 2020.03.07 |
PHP Legacy 함수를 PDO 방식 함수로 변환하기 (0) | 2019.05.20 |
[안드로이드] 회원가입폼 및 회원가입처리(PHP PDO 연동) (0) | 2017.11.20 |