public static function connect() { try { if (self::$pdoConn == null) { self::$dsn = "mysql:host=" . HOSTNAME . ";dbname=" . DBNAME . "; port=" . MYSQLPORT; self::$pdoConn = new PDO(self::$dsn, USERNAME, PASSWORD); self::$pdoConn->exec("set names utf8"); //self::$pdoConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); self::$pdoConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //self::$pdoConn->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); //parent::__construct(self::$pdoConn); } return self::$pdoConn; //parent::__construct(self::$pdoConn); } catch (PDOException $e) { if ($e->getCode() == '1049') { die('Erro mysql[1049]: O banco ' . strtoupper(DBNAME) . ' não existe'); } else { if ($e->getCode() == '2002') { die('Erro mysql[2002]: O host "' . strtoupper(HOSTNAME) . '" não é conhecido ou a porta de conexão está incorreta. <p><strong>Possíveis soluções: </strong></p> <ul> <li>Verifique se o caminho do host está correto.</li> <li>Verifique se a porta de conexão do mysql está correta (a porta padrão é: 3306).</li> </ul> '); } else { if ($e->getCode() == '1044') { die('Erro mysql[1044]: Acesso negado para o usuário "' . USERNAME . '@localhost" para banco de dados ' . strtoupper(DBNAME) . ' <p><strong>Possível solução: </strong>Verifique se o nome de usuário da conexão está correta.</p> <p>' . $e->getMessage() . ' '); } else { if ($e->getCode() == '1045') { die('Erro mysql[1044]: Acesso negado para o usuário "' . USERNAME . '@localhost" com senha para banco de dados ' . strtoupper(DBNAME) . '. <p><strong>Possível solução: </strong>Verifique se o nome de usuário e a senha da conexão estão corretas.</p> <p>' . $e->getMessage() . ' '); } else { die('Conexão falhou. Erro: ' . $e->getMessage()); } } } } } }