我正在构建一张地图,可以从用户的位置进行搜索,以查找附近的经销商。
我在理解如何在sql语句中使用变量时遇到一些麻烦。我使用javascript创建位置,然后发布坐标以使用php进行查询。我的代码在
之下$sql = "SELECT dealer_name, phone, street_number, route, locality, administrative_area_level_1, postal_code, website, latitude, longitude, ( 3959 * acos( cos( radians('".latitude."') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('".longitude."') ) + sin( radians('".latitude."') ) * sin( radians( lat ) ) ) ) AS distance FROM dealers WHERE distance < '".miles."' ORDER BY distance LIMIT 0 , 10";
这是我分配位置变量的地方
navigator.geolocation.getCurrentPosition(function(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
答案 0 :(得分:2)
用什么语言?您已经标记了JavaScript,但是就像上面提到的其中一条评论一样。我当然希望您不是在JavaScript中构建SQL。
您应该将参数传递给服务器端(可能是AJAX调用),然后根据您使用的语言,适当地构建SQL查询。
请参阅Java示例:http://www.mkyong.com/jdbc/jdbc-preparestatement-example-select-list-of-the-records/