Geo locating *may* be able to get the country, region and sometimes city. There exists no implied accuracy, except in domain lookups with provided addressing (so, businesses maybe). That would be exclusive of NAT.
My last test put my expected location (non-proxied, with an accurate ip) over 3400KM away and in a different country. So to answer your question, an ip can provide nothing of tangable value. We log so if any illegal activity occurs the address can be provided to authority and they can work with the isp - an ISP will not provide end users with information. Static addresses can be used for blocking, but thats about the extent of its value on the web.
__________________
As of PHP 5.5, the MySQL library has been officially deprecated. It is recommended to move to either MySQLi or PDO libraries for your mysql connectivity. See here for help choosing which interface you prefer: http://php.net/manual/en/mysqlinfo.api.choosing.php
I know that is is really not accurate detection, but maybe it will show a real place. If it will show many KM from me, I will understand it as a fail info
Firefox Plugin:
Displays IP Trace information when you hover over a link.
Hostipfox 0.4.3.9 (download)
Source: git://github.com/bfolkens/hostipfox-firefox-plugin.git
It is your responsibility to die() if necessary….. - PHP Manual
PHP has a geoip module through pecl. http://php.net/manual/en/book.geoip.php
Getting the hostname is generally just gethostbyaddr. BTW, that one can also fail.
__________________
As of PHP 5.5, the MySQL library has been officially deprecated. It is recommended to move to either MySQLi or PDO libraries for your mysql connectivity. See here for help choosing which interface you prefer: http://php.net/manual/en/mysqlinfo.api.choosing.php