Неустранимая ошибка: необработанное исключение «PDOException» с сообщением «SQLSTATE [42S02]: базовая таблица или представление не - PullRequest
0 голосов
/ 07 сентября 2018

"Неустранимая ошибка: необработанное исключение« PDOException »с сообщением« SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица «myblog.posts» не существует »в C: \ Program Files (x86) \ Ampps\ www \ php.dev \ classes \ Database.php в строке 50 "

Fatal error

    <?php
class Database{
    private $host   = 'localhost';
    private $user   = 'root';
    private $pass   = '123456';
    private $dbname = 'myblog';

    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 new PDO
        try {
            $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
        } catch(PDOEception $e){
            $this->error = $e->getMessage();
        }
    }
    public function query($query){
        $this->stmt = $this->dbh->prepare($query);
    }
    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);
    }

    public function execute(){
        return $this->stmt->execute();
    }

    public function resultset(){
        $this->execute();
        return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
    }

}

при запуске index.php в моем браузере.фатальная ошибка

<?php
require 'classes/Database.php';

$database = new Database;

$database->query('SELECT * FROM posts');
$rows = $database->resultset();
print_r($rows);
?>
...