true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); try { self::$dbh = new PDO($dsn, DB_USER, DB_PASS, $options); } catch (PDOException $e) { self::$error = $e->getMessage(); } } public static function query(string $query) { self::connexion(); self::$stmt = self::$dbh->prepare($query); } public static function bind(string $param, string $value = NULL, string $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; } } self::$stmt->bindValue($param, $value, $type); } public static function execute() { return self::$stmt->execute(); } public static function resultset() { self::execute(); return self::$stmt->fetchAll(PDO::FETCH_ASSOC); } public static function single() { self::execute(); return self::$stmt->fetch(PDO::FETCH_ASSOC); } public static function rowCount() { return self::$stmt->rowCount(); } public static function lastInsertId() { return self::$dbh->lastInsertId(); } public static function beginTransaction() { return self::$dbh->beginTransaction(); } public static function endTransaction() { return self::$dbh->commit(); } public static function cancelTransaction() { return self::$dbh->rollBack(); } public static function debugDumpParams() { return self::$stmt->debugDumpParams(); } public static function queryError() { self::$qError = self::$dbh->errorInfo(); if (!is_null(self::$qError[2])) { echo self::$qError[2]; } } public static function createBackupMysql(){ $backup_file = DIR_DATAS_BACKUP . date("YmdHis") . ".Mysql" . '.gz'; $command = "mysqldump --opt -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS ." ". DB_NAME ." | gzip > " . $backup_file; try { system($command); return TRUE; } catch (Exception $ex) { return FALSE; } } public static function restoreBackupMysql(string $_backupZip){ echo "
".$_backupZip."
"; $backupFile = file::decompress($_backupZip); echo "
".$backupFile."
"; $command = "mysql -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS ." ". DB_NAME ." < " . $backupFile; try { system($command); } catch (Exception $ex) { return FALSE; } file::compress($backupFile); json::create("salaries"); json::create("excel"); json::create("excel-proweb"); json::create("events"); json::create("users"); json::create("salaries-proweb"); } }