_mysqli = @mysqli_connect($server, $user, $password); if (!$this->_mysqli) { throw new Exception(mysqli_connect_error()); } $this->_server = $server; $this->_user = $user; } public function __destruct() { if (!empty($this->_mysqli)) { @$this->_mysqli->close(); $this->_mysqli = null; } } public function list_dbs() { $db_list = $this->_mysqli->query("SHOW DATABASES"); $databases = array(); if ($db_list) { while ($row = $db_list->fetch_row()) { $databases[$row[0]] = 1; } } return $databases; } public function get_access_rights($dbname) { $select = "SELECT PRIVILEGE_TYPE " . " FROM `information_schema`.`schema_privileges`" . " WHERE `GRANTEE` = '\\'{$this->_user}\\'@\\'{$this->_server}\\''" . " AND `TABLE_SCHEMA` = '$dbname';"; $privileges = $this->_mysqli->query($select); $permissions = array(); if ($privileges) { while ($row = $privileges->fetch_row()) { $permissions[strtolower($row[0])] = 1; } } return $permissions; } public function select_db($dbname) { $this->_mysqli->select_db($dbname); } public function list_tables($dbname) { $select = "SHOW TABLES FROM $dbname;"; $db_tables = $this->_mysqli->query($select); $tables = array(); if ($db_tables) { while ($row = $db_tables->fetch_row()) { $tables[strtolower($row[0])] = 1; } } return $tables; } }