_link = @mysql_connect($server, $user, $password); if (!$this->_link) { throw new Exception(mysql_error()); } $this->_server = $server; $this->_user = $user; } public function __destruct() { if (!empty($this->_link)) { @mysql_close($this->_link); } } public function list_dbs() { $db_list = mysql_list_dbs($this->_link); $databases = array(); while ($row = mysql_fetch_object($db_list)) { $databases[$row->Database] = 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 = mysql_query($select, $this->_link); $permissions = array(); if ($privileges) { while ($row = mysql_fetch_assoc($privileges)) { $permissions[strtolower($row["PRIVILEGE_TYPE"])] = 1; } } return $permissions; } public function select_db($dbname) { mysql_select_db($dbname); } public function list_tables($dbname) { $select = "SHOW TABLES FROM $dbname;"; $db_tables = mysql_query($select, $this->_link); $tables = array(); if ($db_tables) { while ($row = mysql_fetch_assoc($db_tables)) { $tables[$row["Tables_in_$dbname"]] = 1; } } return $tables; } }