consulta php para la latitud y longitud de iOS que no buscan mysql lat y lon cercanos con una salida xml

Estoy tratando de obtener la salida de las coordenadas lat y lon de ios (esto funciona bien), enviarlo a php para consultar con MySQL y hacer que el php emita un documento xml de vuelta a ios (este paso no funciona porque es negándose a leer una entrada de datos cargados desde mysql), luego analizarla en iOS UItableview (esto también funciona bien). Estoy intentando que esto funcione con XML porque analizar xml en iOS es realmente simple para mí y ya tengo un script xml más simple ejecutándolo, pero probablemente debido a errores de inexperiencia en php, no puedo obtener este script php trabajando. ¿Qué estoy haciendo mal en mi script php? ¡Gracias!

<?php
{ $lat = (float)$_GET['lat']; } //ios get "lat" value from: NSString *urlString = [NSString stringWithFormat:@"http://www.mysite.com/loc.php?lat=%g&lon=%g", latitude, longitude];
{ $lon = (float)$_GET['lon']; } //ios get "lon" value from: NSString *urlString = [NSString stringWithFormat:@"http://www.mysite.com/loc.php?lat=%g&lon=%g", latitude, longitude];
$minlat = $lat-.1;
$maxlat = $lat+.1;
$minlon = $lon-.1;
$maxlon = $lon+.1;
$dbh = new PDO('(censored personal information)');
$sql = 'SELECT lat, lon, name FROM locations WHERE lat >= ? AND lat <= ? AND lon >= ? AND lon <= ?';
$params = array( $minlat, $maxlat, $minlon, $maxlon );
$q = $dbh->prepare( $sql );
$q->execute( $params );
$doc = new DOMDocument();
$r = $doc->createElement( "locations" );
$doc->appendChild( $r );
foreach ( $q->fetchAll() as $row) {
  {
    $e = $doc->createElement( "location" );
    $e->setAttribute( 'name', $row['name'] );
    $e->setAttribute( 'd', $d );
    $r->appendChild( $e );
  }
}
print $doc->saveXML();
?>