DB 接続のみ作成してみました。
select とかは随時。。。
(2016/12/26:タイトルを修正)
■ test.php
<?php class db_model { const CN_HOST_NAME = 'localhost' ; /** ホスト名 */ const CN_USER_NAME = 'root' ; /** ユーザ名 */ const CN_PASSWORD = '' ; /** パスワード */ const CN_DB_NAME = '' ; /** データベース名 */ public $db_res ; /** 接続しているかどうかのフラグ(外部ファイル用) */ private $mysqli ; /** * 初期処理 * DB接続 */ public function __construct() { error_reporting(E_ALL) ; mb_internal_encoding('UTF-8') ; mysqli_report(MYSQLI_REPORT_STRICT) ; try { /** mysqli 接続 */ $this->mysqli = new mysqli( self::CN_HOST_NAME , self::CN_USER_NAME , self::CN_PASSWORD , self::CN_DB_NAME ) ; /** デフォルト文字セットを設定 */ $this->mysqli->set_charset('utf8') ; $this->db_res = true ; } catch(mysqli_sql_exception $er) { /** エラー時はログに書き込む */ $this->_db_error_log($er) ; $this->db_res = false ; } } /** * DB接続のクローズ */ public function db_close() { if($this->db_res === true) { $this->db_res = false ; $this->mysqli->close() ; } } /** * エラーメッセージをログファイルに書き込む * @param $message : エラーメッセージ */ private function _db_error_log($message) { $dir_path = './log/sql_error/' ; if(is_dir($dir_path) === false) { mkdir($dir_path, 0644, true) ; } $file_name = $dir_path.date('Ymd').'.log' ; file_put_contents($file_name, date('H:i:s').' -> '.$message."\n", FILE_APPEND) ; } }