connection)) { $this->connection = mysql_connect(self::MYSQL_SERVER, self::MSQL_USERNAME, self::MYSQ_PASSWORD); mysql_select_db(self::MYSQL_DB, $this->connection); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET utf8"); } return $this->connection; } protected function query($sql, $params) { foreach($params as $i => $param) { $params[$i] = "'".mysql_escape_string($param)."'"; } $sql = vsprintf($sql, $params); return mysql_query($sql, $this->getConnection()); } /** * * @param resource $resource * @return array */ protected function fetchAll($resource) { if (!$resource) { return array(); } $result = array(); while ($row = mysql_fetch_assoc($resource)) { $result[] = $row; } return $result; } /** * * @param resource $resource * @return array */ protected function fetchOne($resource) { if (!$resource) { return array(); } return mysql_fetch_assoc($resource); } public function getStreetCode($street, $city_code) { $result = $this->fetchOne($this->query('SELECT * FROM ulice WHERE (nazev = %s OR zkratka = %s) AND obec_kod = %s', array($street, $street, $city_code))); if(isset($result['ulice_kod'])) { return $result['ulice_kod']; } else { throw new Exception('Ulice neexistuje.', self::ERR_STREET); } } public function getCityCode($city, $district_code) { $result = $this->fetchOne($this->query('SELECT * FROM obec WHERE (nazev = %s OR zkratka = %s) AND okres_kod = %s', array($city, $city, $district_code))); if(isset($result['obec_kod'])) { return $result['obec_kod']; } else { throw new Exception('Obec neexistuje.', self::ERR_CITY); } } public function getDistrictCode($district) { $result = $this->fetchOne($this->query('SELECT * FROM okres WHERE nazev = %s OR zkratka = %s', array($district, $district))); if(isset($result['okres_kod'])) { return $result['okres_kod']; } else { throw new Exception('Okres neexistuje.', self::ERR_DISTRICT); } } public function getRegionCodeByDistrict($district) { $result = $this->fetchOne($this->query('SELECT * FROM okres WHERE nazev = %s OR zkratka = %s', array($district, $district))); if(isset($result['kraj_kod'])) { return $result['kraj_kod']; } else { throw new Exception('Okres neexistuje.', self::ERR_DISTRICT); } } }