This is the database abstraction class It duplicates the functionality of mysql_??? with a few exceptions, the row and assoc will always return an array, simplifying checking on the far end it will also auto-connect as needed, and has a default database simplifying queries in most cases.
This emulates the mysql_num_rows function which is really just a count of rows returned by our select statement, this doesn't work for updates or inserts
This cruises through the database and trys to set the charset to the current site charset, this is an admin function that can be run by an administrator this can mess up data if you switch between charsets that are not overlapping a catalog verify must be re-run to correct them