본문으로 바로가기

[PHP] PHP MySQL PDO Class 파일

category 프로그램/PHP 2016/04/05 08:56
평소 작업을 하기 위해서 SQL 인젝션도 생각해야 되고 조금 귀찮은 부분이 있었는데....
이제는 그냥 PDO를 사용해 버립니다.

그럼으로 인해서 인젝션는 그냥 조금 무시하는 편입니다.


<?php
class dbMysql {

    private $host = "localhost";
    private $user = "사용자";
    private $pass = "암호";
    private $dbname = "데이터베이스";
    
    private $dbh;
    private $error;
    
    private $stmt;
    
    public function __construct() {
        // Set DSN
        $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
        // Set options
        $options = array(
            PDO::ATTR_PERSISTENT    => true,
            PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
        );
        // Create a new PDO instanace
        try{
            $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
            $this->dbh->exec("SET CHARACTER SET utf8");
        }
        // Catch any errors
        catch(PDOException $e){
            $this->error = $e->getMessage();
        }
    }
    
    /**
     * @brief
     *
     **/
    public function query($query){
        $this->stmt = $this->dbh->prepare($query);
        //echo $query.chr(10);
    }
    
    public function bind($param, $value, $type = null){
        if (is_null($type)) {
            switch (true) {
                case is_int($value):
                    $type = PDO::PARAM_INT;
                    break;
                case is_bool($value):
                    $type = PDO::PARAM_BOOL;
                    break;
                case is_null($value):
                    $type = PDO::PARAM_NULL;
                    break;
                default:
                    $type = PDO::PARAM_STR;
            }
        }
        
        $this->stmt->bindValue($param, $value, $type);
    }
    
    /**
     * @brief
     *
     **/
    public function execute(){
        return $this->stmt->execute();
    }
    
    /**
     * @brief
     *
     **/
    public function resultset(){
        $this->execute();
        return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
    }
    
    /**
     * @brief
     *
     **/
    public function single(){
        $this->execute();
        return $this->stmt->fetch(PDO::FETCH_ASSOC);
    }
    
    /**
     * @brief
     *
     **/
    public function rowCount(){
        return $this->stmt->rowCount();
    }
    
    /**
     * @brief
     *
     **/
    public function lastInsertId(){
        return $this->dbh->lastInsertId();
    }
    
    /**
     * @brief
     *
     **/
    public function debugDumpParams(){
        return $this->stmt->debugDumpParams();
    }
    
    /**
     * @brief
     *
     **/
    public function showMessage() {
        echo $this->error;
    }
    
    /**
     * @brief
     *
     **/
    public function beginTransaction(){
        return $this->dbh->beginTransaction();
    }
    
    /**
     * @brief
     *
     **/
    public function endTransaction(){
        return $this->dbh->commit();
    }
    
    /**
     * @brief
     *
     **/
    public function cancelTransaction(){
        return $this->dbh->rollBack();
    }
    
    
}
크리에이티브 커먼즈 라이센스
Creative Commons License

트랙백

http://trudy.kr/trackback/99
  1. W88

    Trudy :: [PHP] PHP MySQL PDO Class 파일

    I found a great... 2020/08/03 15:32

댓글을 달아 주세요

  1. Pozycjonowanie www Piła 2020/08/11 15:29

    Darmowe pozycjonowanie dla firm z Piła ✉ info@pozycjonowanie.pila.pl ☎ 796 336 116 ☆. Dlatego że reklamowanie stron interaktywnych jest teraz jedną z najskuteczniejszych taktyk reklamowania internetowych stron, trudno się temu dziwić, że non-stop wzrasta ciekawość tą tematyką. Wypozycjonowanie www strony pomoże nam zdobyć kontrahentów, lub też po prostu spowoduje, iż nieustanie pójdzie w górę liczba odwiedzin Twojej witryny internetowej np prywatnej. Reklama firm wycena w 24h ✉ info@pozycjonowanie.pila.pl ☎ 796 336 116 ☆ - Pozycjonowanie stron Piła kontakt.

  2. Pozycjonowanie www Piła 2020/08/11 21:39

    Pozycjonowanie za zero złotych dla mieszkańców Piła ✉ info@pozycjonowanie.pila.pl ☎ 796 336 116 ☆. Albowiem promowanie interaktywnych stron jest teraz jedną z skutecznych metod promowania stron interaktywnych, nie trudno się dziwić, że nieustanie rośnie ciekawość tą sprawą. Wypozycjonowanie internetowej strony może pomóc nam zdobyć kontrahentów, bądź również po prostu sprawi, że nieustanie poszybuje liczba odwiedzin naszej strony www najmy na to prywatnej. Pozycjonowanie firm szybka wycena ✉ info@pozycjonowanie.pila.pl ☎ 796 336 116 ☆ - Pozycjonowanie stron www Piła www.pozycjonowanie.pila.pl.

Trudy
Trudy 님의 블로그
MENU
VISITOR 오늘6 / 전체639809