HostName=$DB_HOST; $this->UserName=$DB_USER; $this->UserPass=$DB_PASSWORD; $this->DBName=$DB_NAME; $this->CONNECT(); } /* ** Function : Connect ** Input : None ** Output : None */ function CONNECT() { $this->DBConn=mysqli_connect($this->HostName, $this->UserName, $this->UserPass, $this->DBName); if (!$this->DBConn) //연결실패 $this->errMsg("Database Connection Error !!!", ""); else //연결성공 if (!(mysqli_select_db($this->DBConn, $this->DBName))) //Database 선택 실패 $this->errMsg("Database Select Error !!!", ""); mysqli_query($this->DBConn, "SET NAMES UTF8"); //mysqli_query($this->DBConn, "SET NAMES latin1"); //mysqli_query($this->DBConn, "SET NAMES EUC-KR"); } /* ** Function : nQuery ** Input : Query String, Error Message ** Output : Recordset ** Descript : mysql_query() */ function nQuery($query, $msg) { if (!($rlt=mysqli_query($this->DBConn, $query))) $this->errMsg($msg, $query); return $rlt; } /* ** Function : rQuery ** Input : Query string, Error message ** Output : Record ** Descript : mysql_result() ** 이부분은 mysql_fetch_arrary와 비슷하지만 가끔씩 쓰일때가 많아서요..넣었습니다. */ function mysqli_result($res,$row=0,$col=0){ $numrows = mysqli_num_rows($res); if ($numrows && $row <= ($numrows-1) && $row >=0){ mysqli_data_seek($res,$row); $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res); if (isset($resrow[$col])){ return $resrow[$col]; } } return false; } function rQuery($query, $msg) { if (!($rlt=mysqli_query($this->DBConn, $query))) $this->errMsg($msg, $query); return $this->mysqli_result($rlt, 0, 0); } /* ** Function : fQuery ** Input : Query string, Error message ** Output : Fetched array ** Descript : mysql_fetch_array() ** 레코드셋에서 맨 첫번째 레코드를 array로 리턴해줍니다. ** 하나의 레코드셋에서 이함수를 여러번 적용한다면.. ** 자동으로 다음 레코드로 넘어가겠죠 ??? */ function fQuery($query, $msg) { if (!($rlt=mysqli_query($this->DBConn, $query))) $this->errMsg($msg, $query); return mysqli_fetch_array($rlt); } /* ** Function : numQuery ** Input : Query string, Error message ** Output : The number of rows ** Descript : mysql_num_rows() */ function numQuery($query, $msg) { if(!($rlt=mysqli_query($this->DBConn, $query))) $this->errMsg($msg, $query); return mysqli_num_rows($rlt); } /* ** Function : iQuery ** Input : Table name, arrayed fields, arrayed values ** Output : None ** Descript : Input arrayed data */ function iQuery($table, $fields, $values) { // 초기화 추가 2025-12-10 $fields_que = ""; $values_que = ""; // $fields_count=count($fields); // fileds 배열의 갯수 추출 $values_count=count($values); // values 배열의 갯수 추출 // fields와 values 갯수가 맞지않을 경우 0을 return // 혹 프로그래밍 상에서 실수가 발생했을 경우 사용하기 위해 if($fields_count != $values_count) $this->errMsg("Input Data Error.", "Fields # : $fields_count, Value # : $values_count"); for ($i=0; $i < $fields_count; $i++) { // 입력된 fields와 values를 이용 퀴리 생성 if (0 < $i) { // fields와 values가 2개 이상일 경우 , 자동 입력 $fields_que.=","; $values_que.=","; } $fields_que.=$fields[$i]; // fields에 해당하는 쿼리 $values_que.="'".addslashes($values[$i])."'"; // values에 해당하는 쿼리 } $this->nQuery("insert into $table ($fields_que) values ($values_que)", "[ $table ] Table Input Error"); } /* ** Function : uQuery ** Input : Table name, arrayed fields, arrayed values, where ** Output : None ** Descript : update arrayed data */ function uQuery($table, $fields, $values, $where="") { // 초기화 추가 2025-12-10 $sub_que = ""; // if(is_array($fields) & is_array($values)) { // fields와 values가 배열일 경우 $fields_count=count($fields); // fileds 배열의 갯수 추출 $values_count=count($values); // values 배열의 갯수 추출 // fields와 values 갯수가 맞지않을 경우 0을 return // 혹 프로그래밍 상에서 실수가 발생했을 경우 사용하기 위해 if ($fields_count != $values_count) $this->errMsg("Input Data Error.", "Fields # : $fields_count, Value # : $values_count"); for ($i=0; $i < $fields_count; $i++) { // insert와 달리 sub쿼리를 이용 if (0 < $i) $sub_que.=","; $sub_que.=$fields[$i]."='".addslashes($values[$i])."'"; // 서브 쿼리 생성 } } else if (!is_array($fields) & !is_array($values)) // fields와 values가 배열이 아닐 경우 $sub_que=" ".$fields."='".addslashes($values)."' "; else $this->errMsg("Input Data Error.", "Fields # : $fields_count, Value # : $values_count"); if($where) $sub_que.=" ".$where; // where 쿼리가 존재할 경우 입력 $this->nQuery("update $table set $sub_que", "[ $table ] Table Input Error"); } /* ** Function : CLOSE ** Input : None ** Output : None ** Descript : mysql_close() */ function CLOSE() { mysqli_close($this->DBConn); $this->DELETE(); } /* ** Function : DELETE ** Input : None ** Output : None ** Descript : Member variable unset */ function DELETE() { unset($this->DBConn); unset($this->UserName); unset($this->UserPass); unset($this->HostName); unset($this->DBName); } //Print Error Message and Exit function errMsg($msg, $query) { echo("JDB Error Message !!

"); $msg=mysqli_errno($this->DBConn)." : ".mysqli_error($this->DBConn)."

User Message :
".$msg."

Query String :
".$query; echo ("$msg"); exit; } } ?>