public static function getInstance() { if (!isset(self::$pdo)) { // try { // $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_PERSISTENT => TRUE); // self::$pdo = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . "; charset=" . CHARSET . ";", USER, PASSWORD, $opcoes); // self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // self::$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); // } catch (PDOException $e) { // throw new PDODBException($e); // } $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_PERSISTENT => TRUE, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => 1); $limit = 10; $counter = 0; while (true) { try { self::$pdo = new PDO('mysql:host=' . HOST . ';dbname=' . DBNAME, USER, PASSWORD, $opcoes); self::$pdo->exec("SET CHARACTER SET utf8"); self::$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); self::$pdo->setAttribute(PDO::ATTR_PERSISTENT, true); self::$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, 1); self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); break; } catch (PDOException $e) { $db = null; $counter++; if ($counter == $limit) { throw new PDODBException($e); } } } } return self::$pdo; }
public static function getInstance() { if (!isset(self::$pdo)) { try { $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_PERSISTENT => TRUE); self::$pdo = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . "; charset=" . CHARSET . ";", USER, PASSWORD, $opcoes); self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { print "Erro: " . $e->getMessage(); } } return self::$pdo; }
public static function getInstance() { if (!isset(self::$pdo)) { $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_PERSISTENT => TRUE); $limit = 10; $counter = 0; while (true) { try { self::$pdo = new PDO('mysql:host=' . HOST . ';dbname=' . DBNAME, USER, PASSWORD, $opcoes); self::$pdo->exec("SET CHARACTER SET utf8"); self::$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); self::$pdo->setAttribute(PDO::ATTR_PERSISTENT, true); break; } catch (PDOException $e) { $db = null; $counter++; if ($counter == $limit) { throw new PDOException($e); } } } } return self::$pdo; }