216 lines
6.9 KiB
PHP
216 lines
6.9 KiB
PHP
<?
|
|
|
|
class JDB {
|
|
VAR $HostName = ""; //server
|
|
VAR $UserName = ""; //User ID
|
|
VAR $UserPass = ""; //User Password
|
|
VAR $DBName = ""; //Database Name
|
|
VAR $DBConn=""; //Database Handler
|
|
|
|
/*
|
|
** Function : Constructor
|
|
** Input : Database Connection Information
|
|
** Output : None
|
|
*/
|
|
function __construct() {
|
|
|
|
// Service
|
|
include getenv("DOCUMENT_ROOT")."/config/config_db.php";
|
|
|
|
/*
|
|
$DB_HOST = "localhost";
|
|
//$DB_HOST = "www.ebizple.com";
|
|
$DB_NAME = "ifreshy_ccs";
|
|
$DB_USER = "ifreshy_ccs";
|
|
$DB_PASSWORD = "WWHTF72HANDQ";
|
|
*/
|
|
|
|
$this->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) {
|
|
$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)", "[ <i>$table</i> ] 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="") {
|
|
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", "[ <i>$table</i> ] 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("<b>JDB Error Message !!</b><p>");
|
|
$msg=mysqli_errno($this->DBConn)." : ".mysqli_error($this->DBConn)."<p><b>User Message</b> :<br> ".$msg."<p><b>Query String</b> :<br> ".$query;
|
|
|
|
echo ("$msg");
|
|
exit;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
?>
|