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 */ } ?> Side-Blown Horn - Birmingham Museums & Art Gallery Information Centre
             
Museums Home BMAGiC Home Search Browse BMAGiC Help About BMAGiC Contact Us
           

Side-Blown Horn

View main imageView larger image
Birmingham Museums and Art Gallery

Additional Images

Click on each image below to view at full size:
View image 2 

Basic Information

Accession Number:1977A122
Collection:Ethnography - Africa

Notes

This trumpet would have been blown, from the side, by a skilled musician. It is unusual because of its lack of decoration.Many trumpets are played in groups and sometimes as part of an orchestra along with drums, thumb pianos, lyres and xylophones. Music has always been a very important part of African culture and is played at important and special social occasions.


Further Information

Production Period:19th century
Material(s):Ivory
Place of Origin:Zaire / Democratic Republic of Congo

Dimensions

Height:622 mm
Diameter:63 mm