Restoration
5/24/2017 - 1:03 PM

DB Class

DB Class

<?php
class DB
{
    /*
    * コンストラクタ
    *
    * @var host:ホスト
    * @var user:ユーザー
    * @var pass:パス
    * @var db:データーベース名
    */
    function __construct($dbServer,$dbUser,$dbPass,$dbName){
        $this->host = $dbServer;
        $this->user = $dbUser;
        $this->pass = $dbPass;
        $this->db = $dbName;
        $this->dsn = "mysql:dbname=$dbName;$host=$host";
        $this->option = array(
                            PDO::ATTR_PERSISTENT => true,
                            PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET 'utf8'",
                            PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING
                        );        
    }

    /*
    * データベースへ接続
    *
    * @param String
    * @return array
    */
    public function connect(){
        try{
            $pdo = new PDO ($this->dsn, $this->user,$this->pass,$this->option);
        } catch(PDOException $e) {
            echo "接続できませんでした";
        }
        return $pdo;
    }

    public function select($query,$type = 'object'){
        $pdo = $this->connect();
        $stmt = $pdo->prepare($query);
        $stmt->execute();
        if($type == 'object'){
            $data = $stmt->fetchAll(PDO::FETCH_CLASS);
        } else {
            $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
        }
        $this->close();
        return $data;
    }

    public function insert($table,$col,$val,$last_id_flg = false,$id_name = null){

        try{
            $pdo = $this->connect();
            function semicolon($n){
                return(":$n");
            }
            $_val = array_map("semicolon",$val);
            if(count($col) == count($val)){
                return false;
            }
            $query = 'INSERT INTO '.$table.'('.implode(',',$col).') VALUES (' .implode(',',$col).')';
            $stmt = $pdo->prepare($query);
            for($i=0; $val < count($val); $i++){
                $stmt = $pdo->bindValue($_val[$i],$val[$i]);
            }
            $stmt->execute();
            if($last_id_flg){
                return $pdo->lastInsertId($id_name);
            }
            return true;
            $this->close();
        } catch(PDOException $e) {
            return false;
        }
    }

    public function delete($table,$){

        try{
            $pdo = $this->connect();
            $this->close();
        } catch(PDOException $e) {
            return false;
        }
    }

    /*
    * データベースへの接続解除
    *
    * @param String
    * @return array
    */
    public function close(){
        $pdo = null;
    }
}


$dbServer = 'localhost';
$dbUser = 'root';
$dbPass = 'root';
$dbName = 'invo';
$db_connect = new DB($dbServer,$dbUser,$dbPass,$dbName);
$db_connect->connect();
$sql = "SELECT * FROM users";

$result = $db_connect->get_result($sql);
/*
$result = $db_connect->get_result_array($sql);
var_dump($result);
$result = $db_connect->get_result_object($sql);
var_dump($result);
*/