<?php
require_once('../../wp-config.php');

class mysDBClass {
	// ********************************
	// **  データベース接続情報      **
	// ********************************
	private $DB_HOST_NAME;	// DBホスト
	private $DB_USER_NAME;	// DBユーザー
	private $DB_PASSWORD;	// DBパスワード
	private $DB_NAME;		// DB名
	private $DB_CHAR;		// DB文字コード

	private $con;	// DB接続情報

	// ********************************
	// **  コンストラクト            **
	// ********************************
	public function db_init() {
		$this->DB_HOST_NAME = DB_HOST;
		$this->DB_USER_NAME = DB_USER;
		$this->DB_PASSWORD  = DB_PASSWORD;
		$this->DB_NAME      = DB_NAME;
		$this->DB_CHAR      = DB_CHARSET;
	}


	// ********************************
	// **  データベース接続処理      **
	// ********************************
	public function db_connect() {
		/* データベース接続 */
		$this->con = mysql_connect($this->DB_HOST_NAME, $this->DB_USER_NAME, $this->DB_PASSWORD);
		if($this->con == FALSE) {
		    //print("* Error: データベースの接続に失敗しました。");
			return FALSE;
		}

		/* データベース選択 */
		$result = mysql_select_db($this->DB_NAME, $this->con);
		if(!$result) {
		    //print("* Error: データベースの選択に失敗しました。");
			return FALSE;
		}

		/* 文字コード設定 */
		$set = "SET NAMES ".$this->DB_CHAR;
		$result = mysql_query($set, $this->con);
		if(!$result) {
		    //print("* Error: 文字コードの設定に失敗しました。");
			return FALSE;
		}

		return TRUE;
	}

	// ***********************************
	// **  データベースクローズ         **
	// ***********************************
	public function db_close() {
		mysql_close($this->con);
	}

	// ***********************************
	// ** SELECT処理                    **
	// ***********************************
	public function db_select($col, $table, $where = null) {
	    $arrRet = array();

	    if(isset($where)) {
	        $sql = "SELECT ".$col." from ".$table." where ".$where;
		}
	    else {
			$sql = "SELECT ".$col." from ".$table;
		}

		$rs = mysql_query($sql, $this->con);

	    $i = 0;
		while($data = mysql_fetch_array($rs)) {
			$arrRet[$i] = $data;
			$i++;
		}

		return $arrRet;
	}

	// ***********************************
	// ** SELECT処理                    **
	// ***********************************
	public function db_select2($col, $table, $where = null, $group = null, $order = null) {
	    $arrRet = array();

	    if(isset($where)) {
	        $sql = "SELECT ".$col." from ".$table." where ".$where;
		}
	    else {
			$sql = "SELECT ".$col." from ".$table;
		}

		if(isset($group)) {
			$sql .= " group by ".$group;
		}

		if(isset($order)) {
			$sql .= " order by ".$order;
		}

		$rs = mysql_query($sql, $this->con);

	    $i = 0;
		while($data = mysql_fetch_array($rs)) {
			$arrRet[$i] = $data;
			$i++;
		}

		return $arrRet;
	}

	// ***********************************
 	// ** INSERT処理                    **
	// ***********************************
	public function db_insert($table, $arrData) {
	    $items = "";
	    $values = "";
		$i = 0;
		foreach($arrData as $key => $val) {
			if($this->db_field_check($table,$key)) {
				$val = "'".$val."'";
			}
			if($i == 0) {
				$items .= $key;
				$values .= $val;
			}
			else {
				$items .= ",".$key;
				$values .= ",".$val;
			}
			$i++;
		}
    
		$sql = "INSERT INTO ".$table."(".$items.") VALUES "."(".$values.")";

		$rs = 0;
		$rs = mysql_query($sql, $this->con);

		return $rs;
	}

	// ***********************************
 	// ** UPDATE処理                    **
	// ***********************************
	public function db_update($table, $arrData, $where = null) {
	    $set = "SET ";
		$i = 0;
		foreach($arrData as $key => $val) {
			if($i > 0) $set .= ", ";
			$set .= $key." = ".$val;
			$i++;
		}
    
		if(isset($where)) {
			$sql = "UPDATE ".$table." ".$set." where ".$where;
		}
		else {
			$sql = "UPDATE ".$table." ".$set;
		}

		$rs = 0;
		$rs = mysql_query($sql, $this->con);

		return $rs;
	}

	// ***********************************
 	// ** DELETE処理                    **
	// ***********************************
	public function db_delete($table, $where = null) {
		if(isset($where)) {
			$sql = "DELETE from ".$table." where ".$where;
		}
		else {
			$sql = "DELETE from ".$table;
		}

		$rs = 0;
		$rs = mysql_query($sql, $this->con);

		return $rs;
	}

	// ***********************************
 	// ** 項目型チェック処理            **
	// ***********************************
	public function db_field_check($table,$col) {
		$sql = "SELECT * from ".$table." LIMIT 1";
		$rs = mysql_query($sql, $this->con);
		$fields = mysql_num_fields($rs);

		for($i = 0;$i < $fields; $i++) {
			$type = mysql_field_type($rs, $i);
			$name = mysql_field_name($rs, $i);
			if($name == $col) {
				if($type == "int" || $type == "real") {
					return 0;
				}
				else {
					return 1;
				}
			}
		}
	}
}
?>
