function execute($query) { if (!$this->isConnected()) { $this->connect($this->database); } Connection::startMeasuring($this); if (func_num_args() > 1) { $query = call_user_func_array('sprintf', func_get_args()); } $result = mysql_query($query, $this->connection); Connection::endMeasuring($this); if (!$result) { throw new QueryException(mysql_error($this->connection), mysql_errno($this->connection)); } return new RecordSet($result); }