host = $host; $this->dbUser = $dbUser; $this->dbPass = $dbPass; $this->dbName = $dbName; $this->connectToDb(); } /** * Establishes connection to MySQL and selects a database * @return void * @access private */ function connectToDb() { // Make connection to MySQL server if (!$this->dbConn = @mysql_connect($this->host, $this->dbUser, $this->dbPass)) { trigger_error('Could not connect to server'); $this->connectError = true; // Select database } else if (!@mysql_select_db($this->dbName,$this->dbConn)) { trigger_error('Could not select database'); $this->connectError = true; } } /** * Checks for MySQL errors * @return boolean * @access public */ function isError() { if ($this->connectError) { return true; } $error = mysql_error($this->dbConn); if (empty($error)) { return false; } else { return true; } } /** * Returns an instance of MySQLResult to fetch rows with * @param $sql string the database query to run * @return MySQLResult * @access public */ function &query($sql) { if (!$queryResource = mysql_query($sql, $this->dbConn)) { trigger_error('Query failed: ' . mysql_error($this->dbConn) . ' SQL: ' . $sql); } else { return new MySQLResult($this, $queryResource); } } } /** * MySQLResult Data Fetching Class * @access public * @package SPLIB */ class MySQLResult { /** * Instance of MySQL providing database connection * @access private * @var MySQL */ var $mysql; /** * Query resource * @access private * @var resource */ var $query; /** * MySQLResult constructor * @param object mysql (instance of MySQL class) * @param resource query (MySQL query resource) * @access public */ function MySQLResult(&$mysql, $query) { $this->mysql = &$mysql; $this->query = $query; } /** * Fetches a row from the result * @return array * @access public */ function fetch() { if ($row = mysql_fetch_array($this->query, MYSQL_ASSOC)) { return $row; } else if ( $this->size() > 0 ) { mysql_data_seek($this->query, 0); return false; } else { return false; } } /** * Returns the number of rows selected * @return int * @access public */ function size () { return mysql_num_rows($this->query); } /** * Returns the ID of the last row inserted * @return int * @access public */ function insertID () { return mysql_insert_id($this->mysql->dbConn); } /** * Checks for MySQL errors * @return boolean * @access public */ function isError() { return $this->mysql->isError(); } /** * Returns an instance of MySQLResult to fetch rows with * @param $sql string the database query to run * @return MySQLResult * @access public */ } ?> About BMAGiC - Birmingham Museums & Art Gallery Information Centre
Museums Home BMAGiC Home Search Browse BMAGiC Help About BMAGiC Contact Us

About BMAGiC

Information about BMAGiC

The collections of Birmingham Museums Service have been developed over the last 150 years through gift, bequest and purchase, through the generosity of donors and through the application of specialist knowledge and research. The development of the museum service is inextricably linked to the formation of the collections. We are committed to ensuring that our users are able to access as many objects and as much (or as little) information as they need.

Between 1999-2004, Birmingham Museums & Art Gallery gained funding from the Designation Challenge Fund, to set up a documentation project with the aim of accounting for and developing access to the collections.

One of the key aims of the project was the development of public access to collection information both physical and electronic. BMAGiC, our online collection database, was one of the outcomes. Since we launched BMAGiC in 2002 we have gathered user feedback and performed user-led evaluation.

The BMAGiC you are using now was launched in July 2005 and has been developed from this feedback. It is a 'snapshot' of collection objects and information exported from our internal database. We add more objects each month so you will be able to see more and more of our collections over time.


The contents of this site, including all images and text, are protected by copyright. All material is provided for browsing and viewing purposes only. No copies of the digital images or text may be made except for personal use. 'Personal use' means non-commercial, domestic use by an individual involving the making of only single copies of each digital image.

Birmingham Museums & Art Gallery holds the copyright for all the images of objects on this website unless otherwise stated, and always needs to be contacted for permission when images are to be reproduced. In specific cases, copyright maybe held by the originator and the images are used with permission. It is the responsibility of any potential user to clear all such copyright with the owners.

Birmingham Museums & Art Gallery reserves copyright on all photographic materials made in the service's Museums. A Reproduction Application Form must be submitted, and payment received before materials and permissions can be dispatched. If you have any queries regarding images, reproduction requests (a wide variety of formats are available both electronic and print media) or copyright issues, please contact our Picture Library.

Artist's Copyright

The Design and Artists Copyright Society (DACS) represents many artists and estates for matters of copyright in the UK. You can contact DACS on Tel: 020 7336 8811, Fax: 020 7336 8822 or visit their web site at A copy of permission granted from the artists or their estates must be received before any materials can be dispatched.

Data Protection & Freedom of Information

Birmingham Museums & Art Gallery operates in accordance with the Data Protection Act 1998 and the Freedom of Information Act 2000. 

Personal information may be received in the process of submitting a query for further information. We only use this information to supply the services that have been requested and to monitor and improve the quality of our Website. Birmingham Museums & Art Gallery will not to distribute or sell your information on to any third party.


The information on the BMAGiC website is provided for convenience as part of the service we offer. However, Birmingham Museums & Art Gallery cannot accept liability for its accuracy or content. Visitors who rely on this information do so at their own risk.

Please read our website Terms and Conditions and our Privacy Policy.

My Bookmarks

You currently have no objects bookmarked.
You can bookmark objects to help you find them again easily when using this computer.