open_connection(); } public function open_connection() { try { $this->dbh = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USER, DB_PASS); $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo $e->message; exit; } } public function close_connection() { if (isset($this->dbh)) { $this->dbh = null; } } 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_CLASS); } public function resultall() { $this->execute(); return $this->stmt->fetchAll(PDO::FETCH_ASSOC); } public function single() { $this->execute(); return $this->stmt->fetch(PDO::FETCH_ASSOC); } public function rowCount() { return $this->stmt->rowCount(); } public function lastInsertId() { return $this->dbh->lastInsertId(); } } $database = new MySQLDatabase();