Je trouve l'endroit le plus proche (avec latitude/longitude de l'API Google) dans une zone de rayon avec LON/latitude dans ma base de données SQL, voici ma question:PHP - mySQL numéro de requête
$query = "SELECT id, (3959 * acos(cos(radians(".$lat.")) * cos(radians(lat)) * cos(radians(lon) - radians(".$long.")) + sin(radians(".$lat.")) * sin(radians(lat)))) AS distance FROM finder_location HAVING distance < 25 ORDER BY distance LIMIT 0 , 1";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo $row['id'];
La requête est de retour correctement à l'intérieur comme phpMyAdmin:
id 9
distance 0.74066713768542
Ainsi, la requête compile correctement ...
Mais, quand j'essayé de sortie en PHP, je reçois ces erreurs:
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la syntaxe droite à utiliser près de '>)) * cos ( radians (lat)) * cos (radians (lon) - radians (-73.988307))' à ligne 1 Warning: mysql_fetch_array(): fourni argument n'est pas un résultat MySQL des ressources
Vous devez regarder la requête finale générée en PHP ('echo $ query;'). Certaines de vos variables semblent être vides. –
éventuellement variable lat $ contient une valeur non valide, vérifier –