/** * 休日データを登録する * * @param string 年号4ケタ * @return array 休日情報 */ function updateHoliday($target_year, $holidayData) { // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::MASTER_DB)->beginTransaction(); // m_holiday初期化 $sql = "DELETE FROM `m_holiday` WHERE `holiday_date` BETWEEN :start_date AND :end_date;"; $param = array('start_date' => sprintf("%s0101", $target_year), 'end_date' => sprintf("%s1231", $target_year)); $res = $conn->dbExecute(DbControl::MASTER_DB, $sql, $param); if (!$res) { $conn->rollback(DbControl::MASTER_DB); throw new Exception("テーブル「m_holiday」の対象年度データ削除処理に失敗しました。"); return false; } // クエリを一括実行 $sql = "INSERT INTO `m_holiday`(`holiday_date`,`holiday_name`) VALUES(:holiday_date,:holiday_name);"; foreach ($holidayData as $insertParam) { $res = $conn->dbExecute(DbControl::MASTER_DB, $sql, $insertParam); if (!$res) { $conn->rollback(DbControl::MASTER_DB); throw new Exception("テーブル「m_holiday」へのINSERT処理に失敗しました。"); return false; } } //全ての処理が正しければデータコミット $conn->commit(DbControl::MASTER_DB); // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); return true; }
/** * インスタンス取得 * * @since 2011-11-07 * @author Imaeda */ public static function getInstance() { if (!is_object(DbControl::$_singleton)) { DbControl::$_singleton = new DbControl(); } return DbControl::$_singleton; }
function DestroyHandler($id) { global $_sessionCacheData; $execParam['s_id'] = $id; DbControl::getInstance()->dbConnect(DbControl::MASTER_DB); DbControl::getInstance()->dbExecute(DbControl::MASTER_DB, QUERY_DESTROY, $execParam); $_sessionCacheData = ""; return true; }
/** * autosave - pohodlnejsi nez nutne volat store * @throws Exception */ public function __destruct() { try { if (LBoxConfigManagerProperties::getPropertyContentByName("log_access") < 1) { return; } $this->params["queries"] = DbControl::getQueryCount() + 1; $this->params["time_execution"] = LBoxTimer::getInstance()->getTimeOfLife(); $this->params["cache_read"] = LBoxCache::getInstance()->getFilesOpenedRead(); $this->params["cache_write"] = LBoxCache::getInstance()->getFilesOpenedWrite(); $this->params["memory"] = memory_get_peak_usage(true); $this->params["memory_limit"] = ini_get("memory_limit") * 1024 * 1024; $this->synchronized = false; $this->store(); } catch (Exception $e) { throw $e; } }
/** * 当月の期間IDのおわりを取得 * Topからコピー * TOP、ヒアリングシートTOPで使用 * @param */ function getMonthEnd($month, $year) { $sql = 'select max(id) from m_term where month = :month and year = :year '; $searchParam = array(); $searchParam["month"] = $month; $searchParam["year"] = $year; // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $searchParam); // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); $result = $res["max(id)"]; return $result; }
} } else { throw new Exception("不正な処理の為処理を終了します。"); } } if (in_array(ACCOUNT_ADMIN, $authority) && isset($point)) { $admin_id = $_SESSION[SESSION_USER_ID]; $boss_flg = 'admin'; $target_id = $report->getMonthlyReportId($termid, $staff_id); if (!$target_id['id']) { throw new Exception('新入社員が振り返りを入力していない為、処理を実行できません。'); } $flg = $edit->isEntryEnabledUnit($sql_flg, $target_id, $year, $month); if ($flg) { // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::MASTER_DB)->beginTransaction(); for ($i = 0; $i < count($level); $i++) { if ($sql_flg == 'insert') { $res = $edit->editTargetUnit($conn, $sql_flg, $target_id, $year, $month, $admin_id, $level[$i], $point[$i]); } elseif ($sql_flg == 'update') { $res = $edit->editTargetUnit($conn, $sql_flg, $target_id, $year, $month, $admin_id, $level[$i], $point[$i], $unit_id[$i]); } if (!$res) { break; } } //正しい応答があればコミット(書き込み確定) if ($res) { $conn->commit(DbControl::MASTER_DB); $error = false;
/** * 指定期間の祝日データを取得する * * @param $target_year 指定年 * @param $target_year 指定月 * @return 祝日ハッシュ */ public function getHoliday($target_year, $target_month) { //パラメータチェック if (empty($target_year) || !preg_match("/^\\d{4}\$/", $target_year)) { return array(); } if (empty($target_month) || !preg_match("/^\\d{1,2}\$/", $target_month)) { return array(); } // クエリ定義 $sql = "SELECT `holiday_date`, `holiday_name` " . "FROM `m_holiday` " . "WHERE `holiday_date` BETWEEN :start AND :end " . "ORDER BY `holiday_date` ASC "; //検索値 $time = mktime(0, 0, 0, $target_month, 1, $target_year); $start = date("Ym01", $time); $end = date("Ymt", $time); $searchParam = array('start' => $start, 'end' => $end); // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); //データ取得 $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); if (!$res) { return array(); } //DB切断 $conn->dbClose(DbControl::SLAVE_DB); //キーハッシュに整形 $data = array(); foreach ($res as $h) { $data[$h["holiday_date"]] = $h["holiday_name"]; } return $data; }
/** * 現行のDBからt_tmp_staffcsvを更新する */ function flushTmpStaffCsv() { // ワークテーブル名 $tableName = 't_tmp_staffcsv'; // 書込用コネクション(トランザクション) $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::MASTER_DB)->beginTransaction(); // 参照用コネクション DbControl::getInstance()->dbConnect(DbControl::SLAVE_DB); // 処理結果 $result = false; try { // ワークテーブルトランケート $sql = "TRUNCATE TABLE `{$tableName}`"; $w_res = $conn->dbExecute(DbControl::MASTER_DB, $sql); if (!$w_res) { throw new Exception("ワークテーブルのトランケート処理に失敗しました。"); } // 社員情報取得 $sql = "SELECT DISTINCT " . "ms.id, " . "ms.staff_cd, " . "ms.name, " . "ms.name_kana, " . "IF(ms.sex = 0, '男', '女') AS sex, " . "IF(mde.department_name IS NOT NULL, mde.department_name, NULL) AS department, " . "IF(mdi.division_name IS NOT NULL, mdi.division_name, NULL) AS division, " . "IF(mse.section_name IS NOT NULL, mse.section_name, NULL) AS section, " . "IF(ms.section_cd IS NOT NULL AND ms.section_cd != '', ms.section_cd, " . "IF(ms.division_cd IS NOT NULL AND ms.division_cd != '', ms.division_cd, " . "IF(ms.department_cd IS NOT NULL AND ms.department_cd != '', ms.department_cd, ms.post_cd" . ") " . ") " . ") AS post_cd, " . "ms.occupation_cd, " . "ms.occupation, " . "ms.mail AS mail_address, " . "IF(ms.retire_flg = 0,NULL,1) AS retire_flg " . "FROM " . "m_staff AS ms " . "LEFT JOIN m_department AS mde ON ms.department_cd = mde.department_cd " . "LEFT JOIN m_division AS mdi ON ms.division_cd = mdi.division_cd " . "LEFT JOIN m_section AS mse ON ms.section_cd = mse.section_cd " . "WHERE " . "ms.staff_cd NOT IN('999998', '999999') " . "ORDER BY " . "ms.staff_cd ASC "; $searchParam = array(); $datas = DbControl::getInstance()->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); //不足データ取得・ワークテーブル挿入 $csvdata = array(); foreach ($datas as $data) { //権限取得 $sql = "SELECT DISTINCT group_cd FROM t_staff_auth WHERE staff_id = :id ORDER BY group_cd ASC"; $searchParam = array("id" => $data['id']); $res = DbControl::getInstance()->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); $tmp = array(); $auth = array(); foreach ($res as $row) { $auth_name = null; switch ($row['group_cd']) { case ACCOUNT_NEW_EMP: $auth_name = "新入社員"; break; case ACCOUNT_TRAINER: $auth_name = "OJTトレーナー"; break; case ACCOUNT_ADMIN: $auth_name = "責任者"; break; case ACCOUNT_DEPARTMENT: $auth_name = "本部権限"; break; case ACCOUNT_HUMAN_RESOURCES: $auth_name = "人事部"; break; } if (!is_null($auth_name)) { $tmp[] = $auth_name; } $auth[] = $row['group_cd']; } $tmp = implode("/", $tmp); $data['auth'] = $tmp; //リレーション取得 $tmp = array('trainer' => array(), 'admin' => array()); if (in_array(ACCOUNT_TRAINER, $auth) || in_array(ACCOUNT_ADMIN, $auth)) { $sql = "SELECT DISTINCT mst.staff_cd, tsr.trainer_id, tsr.admin_id FROM t_staff_relation AS tsr INNER JOIN m_staff AS mst ON tsr.staff_id = mst.id WHERE :id IN (tsr.trainer_id, tsr.admin_id)"; $searchParam = array("id" => $data['id']); $res = DbControl::getInstance()->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); foreach ($res as $row) { if (!empty($row['trainer_id'])) { if (count($tmp['trainer']) < 10) { $tmp['trainer'][] = $row['staff_cd']; } } if (!empty($row['admin_id'])) { if (count($tmp['admin']) < 10) { $tmp['admin'][] = $row['staff_cd']; } } } } for ($i = 0; $i < 10; $i++) { $data['trainer_' . ($i + 1)] = isset($tmp['trainer'][$i]) ? $tmp['trainer'][$i] : null; $data['admin_' . ($i + 1)] = isset($tmp['admin'][$i]) ? $tmp['admin'][$i] : null; } //所属コードは0埋め除去 $data['post_cd'] = intval($data['post_cd']); //(特殊)本部名に㈱を含む場合は(株)へ変換する // if( strpos($data['department'], "㈱") !== false ){ // $data['department'] = str_replace("㈱","(株)",$data['department']); // } //データ挿入用にIDを落とす unset($data['id']); //空文字はnullに変換する $tmp = $data; foreach ($tmp as $k => $v) { if ($v == "") { $data[$k] = null; } } $sql = "INSERT INTO `{$tableName}`(`staff_cd`,`name`,`name_kana`,`sex`,`post_cd`,`department`,`division`,`section`,`occupation_cd`,`occupation`,`mail_address`,`auth`,`retire_flg`,`trainer_1`,`trainer_2`,`trainer_3`,`trainer_4`,`trainer_5`,`trainer_6`,`trainer_7`,`trainer_8`,`trainer_9`,`trainer_10`,`admin_1`,`admin_2`,`admin_3`,`admin_4`,`admin_5`,`admin_6`,`admin_7`,`admin_8`,`admin_9`,`admin_10`) " . "VALUES(:staff_cd,:name,:name_kana,:sex,:post_cd,:department,:division,:section,:occupation_cd,:occupation,:mail_address,:auth,:retire_flg,:trainer_1,:trainer_2,:trainer_3,:trainer_4,:trainer_5,:trainer_6,:trainer_7,:trainer_8,:trainer_9,:trainer_10,:admin_1,:admin_2,:admin_3,:admin_4,:admin_5,:admin_6,:admin_7,:admin_8,:admin_9,:admin_10) "; $w_res = $conn->dbExecute(DbControl::MASTER_DB, $sql, $data); if (!$w_res) { throw new Exception("ワークテーブルへのデータ挿入処理に失敗しました。"); } } // 処理終了・データコミット $conn->commit(DbControl::MASTER_DB); $result = true; } catch (Exception $e) { Logger::printlog("[Error]データエクスポート:" . $e->getMessage()); $conn->rollback(DbControl::MASTER_DB); $result = false; } $conn->dbClose(DbControl::MASTER_DB); return $result; }
function getStaffAuth($staff_id) { //スタッフIDが無ければ検索しない if (!isset($staff_id) || empty($staff_id) || $staff_id == 0) { return array(); } //SQL定義 $sql = "SELECT DISTINCT" . "`group_cd` " . "FROM " . "`t_staff_auth` " . "WHERE " . "`staff_id` = :staff_id " . "ORDER BY " . "`group_cd` ASC "; $searchParam = array('staff_id' => $staff_id); // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); if ($res === false) { throw new Exception("DBへの要求に失敗しました。"); } // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); //単純配列に変換 $array = array(); foreach ($res as $key => $val) { $array[] = $val; } return $array; }
/** * Adminユーザー権限情報を削除 * * @param $userId AdminユーザーID * @param $param 権限データ * @return Adminユーザー情報 */ public function deleteAdminUserPrivs($userId) { $result = array(); $dataParam = array(); if (!$userId || is_null($userId)) { return -1; } // 権限情報を削除 $sql = "DELETE FROM " . " t_cms_privs " . " WHERE " . " user_id = :user_id "; $dataParam['user_id'] = $userId; DbControl::getInstance()->dbConnect(DbControl::MASTER_DB); DbControl::getInstance()->dbExecute(DbControl::MASTER_DB, $sql, $dataParam); return true; }
/** * ゴールイメージ・マイルストーン(責任者)DB登録可否判定 * 登録可能の場合、trueを返す * * @param */ function isEntryEnabledUnit($sql_flg, $target_id, $target_year, $target_month) { $isEnabled = true; $sql = "SELECT COUNT(*) as cnt FROM `t_report_target_unit` WHERE `target_id` = :target_id AND `target_year` = :target_year AND `target_month` = :target_month"; $searchParam = array('target_id' => $target_id['id'], 'target_year' => $target_year, 'target_month' => $target_month); // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $searchParam); if (isset($sql_flg) && !empty($sql_flg) && $sql_flg == 'insert') { if (isset($res) && $res['cnt'] > 0) { $isEnabled = false; } else { $isEnabled = true; } } elseif (isset($sql_flg) && !empty($sql_flg) && $sql_flg == 'update') { if (isset($res) && $res['cnt'] > 0) { $tense = tenseMonthly($target_year, $target_month); if ($tense) { $isEnabled = true; } else { $isEnabled = false; } } else { $isEnabled = false; } } // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); return $isEnabled; }
function getCsvTrainersNewEmp($data) { // 編集の時点で、編集中の新入社員を担当しているトレーナー・責任者情報を取得 $sql = "SELECT staff_cd,"; $sql .= " trainer_1, trainer_2, trainer_3, trainer_4, trainer_5, trainer_6, trainer_7, trainer_8, trainer_9, trainer_10,"; $sql .= " admin_1, admin_2, admin_3, admin_4, admin_5, admin_6, admin_7, admin_8, admin_9, admin_10"; $sql .= " FROM t_tmp_staffcsv"; $sql .= " WHERE :new_emp_staff_cd IN (trainer_1, trainer_2, trainer_3, trainer_4, trainer_5, trainer_6, trainer_7, trainer_8, trainer_9, trainer_10)"; $sql .= " OR :new_emp_staff_cd IN (admin_1, admin_2, admin_3, admin_4, admin_5, admin_6, admin_7, admin_8, admin_9, admin_10)"; $searchParam = array("new_emp_staff_cd" => $data["staff_cd"]); // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); // 編集対象新入社員に紐付く、編集前の社員CDを格納 $initial_staff_cd = array(); // 更新対象の社員がトレーナーか責任者かを判定 $auth_flg = array(); foreach ($res as $key => $value) { $value["staff_flg"] = ""; $initial_staff_cd[] = $value["staff_cd"]; $auth_flg[$value["staff_cd"]]["trainer"] = 0; $auth_flg[$value["staff_cd"]]["admin"] = 0; for ($i = 0; $i <= 10; $i++) { if (isset($value["trainer_{$i}"]) && !emp($value["trainer_{$i}"])) { $auth_flg[$value["staff_cd"]]["trainer"] = 1; } if (isset($value["admin_{$i}"]) && !emp($value["admin_{$i}"])) { $auth_flg[$value["staff_cd"]]["admin"] = 1; } } } // 編集対象新入社員に紐付く、編集後のトレーナー社員CDを格納 $edited_staff_cd = array(); foreach ($data["trainer_staff_cd"] as $key => $value) { $edited_staff_cd[] = $value["staff_cd"]; } // カラムに新入社員CDを更新対象のトレーナー社員CDを格納 // $initial_staff_cdに入っている社員CDはトレーナー・責任者のものが入っているため、区別が必要 // --> $initial_staff_cdと$update_staff_cdの両方にある場合 // --> $initial_staff_cdになく$update_staff_cdにある場合 $update_staff_cd_array = array(); $update_staff_cd_array = array_diff($edited_staff_cd, $initial_staff_cd); foreach ($initial_staff_cd as $value) { if (in_array($value, $edited_staff_cd)) { $update_staff_cd_array[] = $value; } } // カラムにnullを更新対象のトレーナー社員CDを格納 // --> $initial_staff_cdにあって$update_staff_cdにない場合 $update_null_array = array(); $update_null_array = array_diff($initial_staff_cd, $edited_staff_cd); /* // 更新対象のトレーナーの担当新入社員CD取得 $sql = "SELECT staff_cd, trainer_1, trainer_2, trainer_3, trainer_4, trainer_5, trainer_6, trainer_7, trainer_8, trainer_9, trainer_10"; $sql .= " FROM t_tmp_staffcsv"; $sql .= " WHERE staff_cd = :trainer_staff_cd"; $searchParam = array( "trainer_staff_cd" => $data["trainer_staff_cd"][$i]["staff_cd"] ); // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); // var_dump ($res); $update_flg = true; for ($j=1;$j<=10;$j++){ if ($data["staff_cd"] != $res[0]["trainer_{$j}"]){ $update_flg = true; } else { $update_flg = false; } } if ($update_flg == true){ // echo "トレーナレコードupdate対象"; } } */ // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); if ($res) { return true; } else { return false; } }
protected function getSelect($table, $what = "*", QueryBuilderWhere $where = NULL, $limit = array(), $groupBy = array(), $orderBy = array()) { if (strlen($table) < 1) { throw new DbControlException("Ilegal parameter table. Must be NOT-NULL string."); } if (strlen($what) < 1) { throw new DbControlException("Ilegal parameter what. Must be NOT-NULL string."); } if (!is_array($limit)) { throw new DbControlException("Ilegal parameter limit. Must be array."); } if (!is_array($groupBy)) { throw new DbControlException("Ilegal parameter groupBy. Must be array."); } if (!is_array($orderBy)) { throw new DbControlException("Ilegal parameter groupBy. Must be array."); } if ($where instanceof QueryBuilderWhere) { $whereString = $this->getWhereStringByObject($where); } // groupByString $groupByString = ""; if (count($groupBy) < 1) { $groupByString = ""; } else { foreach ($groupBy as $columnName) { $groupByString .= strlen($groupByString) > 0 ? ", " : ""; $groupByString .= reset(self::getQuotesColumnName()) . "{$columnName}" . end(self::getQuotesColumnName()) . ""; } $groupByString = "GROUP BY {$groupByString}"; } // orderByString $orderByString = $this->getOrderByStringByArray($orderBy); $orderByStringReverse = $this->getOrderByStringByArray($orderBy, true); // limitString $limitString = ""; switch (count($limit)) { case 0: case 2: NULL; break; case 1: $limit = array(0, current($limit)); break; default: throw new DbControlException("Ilegal parameter limit!"); } $outTmp = "{$what} FROM " . reset(self::getQuotesTableName()) . "{$table}" . end(self::getQuotesTableName()) . " {$whereString} {$groupByString} {$orderByString}"; // LIMIT clause emulation for MSSQL /** * FOR INSTANCE EMULATION OF: * - SELECT emp_id,lname,fname FROM employee LIMIT 20,10 * select * from ( select top 10 emp_id,lname,fname from ( select top 30 emp_id,lname,fname from employee order by lname asc ) as newtbl order by lname desc ) as newtbl2 order by lname asc */ if (count($limit) > 0) { $limitOffset = reset($limit); $limitLimit = end($limit); /* check table count */ $sqlCountNoLimit = "SELECT COUNT(*) AS count FROM " . reset(self::getQuotesTableName()) . "{$table}" . end(self::getQuotesTableName()) . " {$whereString} {$groupByString}"; $dbControl = new DbControl($this->task); $countNoLimit = $dbControl->initiateQuery($sqlCountNoLimit)->count; $limitLimit = $limitOffset + $limitLimit > $countNoLimit ? $limitOffset > $countNoLimit ? 0 : $countNoLimit - $limitOffset : $limitLimit; $out = "SELECT * FROM (\n\t\t\t\t\t\t\tSELECT TOP " . $limitLimit . " {$what} FROM (" . "SELECT TOP " . ($limitOffset + $limitLimit) . " {$outTmp}\n\t\t\t\t\t\t\t) AS order_tmptable1 {$orderByStringReverse}" . ") AS order_tmptable2 {$orderByString}"; } else { $out = "SELECT {$outTmp}"; } return $out; }
/** * 前月末時点で責任者に担当新入社員が存在するかの確認 * 担当新入社員がいるとtrueを返す * * @param */ function checkLastMonthRelation($admin_id, $end_of_last_month) { $sql = 'SELECT count(*) as cnt'; $sql .= ' FROM t_staff_relation'; $sql .= ' WHERE admin_id = :id and start_date <= :the_day and end_date >= :the_day'; $searchParam = array(); $searchParam["id"] = $admin_id; $searchParam["the_day"] = $end_of_last_month; // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $searchParam); // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); if ($res["cnt"] == 0) { return false; } else { return true; } }
/** * 責任者ヒアリングシート記入確認 * 未記入のヒアリングシートがあればTRUEを返す * * @param */ function checkHearing($last_month, $id) { $sql = 'select admin_id from t_hearing'; $sql .= ' where admin_id = :id and target_month = :last_month'; $searchParam = array(); $searchParam["last_month"] = $last_month; $searchParam["id"] = $id; $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); $conn->dbClose(DbControl::SLAVE_DB); if (empty($res)) { return true; } else { return false; } }
/** * 本部CD、部署CDがあるか判定 * ある場合の場合、trueを返す * * @param */ function isEntryDepDiv($department_cd, $division_cd) { $sql = 'select count(*) as cnt from m_division where department_cd = :department_cd'; $param['department_cd'] = $department_cd; if ($department_cd == '9999') { $sql .= ' and division_cd = :division_cd'; $param['division_cd'] = $division_cd; } // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetch(DbControl::SLAVE_DB, $sql, $param); if (isset($res) && $res['cnt'] > 0) { $isEnabled = true; } else { $isEnabled = false; } // データベースを切断する $conn->dbClose(DbControl::SLAVE_DB); return $isEnabled; }
/** * 指定月の休日取得 * * @param */ function getHoliday($year, $month) { $year .= $month; $date = $year; $searchParam['date'] = "%" . $date . "%"; $sql = 'select holiday_date, holiday_name from m_holiday where holiday_date like :date'; // データベースに接続する $conn = DbControl::getInstance(); $conn->dbConnect(DbControl::SLAVE_DB); // クエリを実行する $res = $conn->dbExecFetchAll(DbControl::SLAVE_DB, $sql, $searchParam); return $res; }