Не в какую ни могу подключиться к базе данных через pdo mysql phpmyadmin

Ошибку вывести почему то не могу, конечно я делаю что то не правильно.

К базе которой я хочу подключится введите сюда описание изображения

Через этого пользователя подключаюсь введите сюда описание изображения

Все права доступа есть, раньше все работало. Как подключаюсь:

class Database extends PDO
{
    public function __construct()
    {
        $dbname = DBNAME; //uu13uf1_12
        $dbuser = DBUSER; //root
        $dbpass = DBPASS; //root
        $host = "192.168.1.30";
        try{
            parent::__construct("mysql:host=$host;dbname=$dbname;charset=UTF8;", $dbuser, $dbpass);
        }catch(PDOException $e){
            echo "Connection failed: " . $e->getMessage();
        }
    }
}

При переходе на страницу выводит мне это: введите сюда описание изображения

Я не понимаю в чем дело, вроде все ввожу правильно. Все работало, потом для тестирования загрузил свой сайт на хостинг, там так-же есть phpmyadmin, там все работает. Работал с помощи SFTP в Visual Code, после удалил расширение SFTP. Попробовал опять зайти на свой сайт локально и он не работает. Но я думаю это не из-за этого. Что вы думаете? Какие есть методы?


Ответы (1 шт):

Автор решения: young_protokaa42

создайте класс с конструктором соединения:

class db {  
    public function __construct() {
        $this->pdo = $this->getDBH('192.168.1.30', $DBNAME, $DBUSER, $DBPASS);
    }

    public function getDBH($host, $dbname, $login, $passwd){
        $DBH = new PDO("mysql:host={$host};dbname={$dbname};", $login, $passwd);
        $DBH->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
        return $DBH;
    }
}

И потом просто создайте объект этого класса и пользуйтесь его свойством pdo:

$db = new db;
$stmt = $db->pdo->prepare("select *..."); 
→ Ссылка