Это на самом деле неправильно. mysql_query возвращает RESOURCE (имя типа, а не я кричу), а не фактический результат.
Просмотрите документацию по PHP MySQL API: http://php.net/mysql
Чтобы получить реальный результат, вы должны сделать что-то вроде:
$q = mysql_query($query);
$val = mysql_result($q, 0);
Вы также можете заглянуть в PDO / MySQLi.
Если вам интересно, как вы на самом деле получаете значение:
При приведении к строке ресурс будет выглядеть примерно так: «Resource id # 3». Затем floatval извлечет 3.
Редактировать: упс, неправильная ссылка на MySQL.
http://www.php.net/manual/en/ref.mysql.php является ссылкой mysql_ *.