/**
	 * Handles an Query Error: A QueryExcpetion will be thrown.
	 *
	 * @see QueryException
	 * @throws QueryException
	 * @param string Last Query
	 **/
	protected function queryError($query) {
		$e = new QueryException($this->error(), $this->errno());
		$e->setQuery($query);
		$e->setLine(__LINE__);
		$e->setFile(__FILE__);

		// Try to get better results for line and file.
		if (function_exists('debug_backtrace') == true) {
			$backtraceInfo = debug_backtrace();
			// 0 is class.mysql.php, 1 is the calling code...
			if (isset($backtraceInfo[1]) == true) {
				$e->setLine($backtraceInfo[1]['line']);
				$e->setFile($backtraceInfo[1]['file']);
			}
		}

		$this->debug->addText($e);

		throw $e;
	}