我编写了以下sql查询以实现radius搜索。似乎这段不起作用。我认为这是一个语法错误。
$statement = "SELECT store,address,phone,lat,log,zipcode,city,state, ( 3959 * acos( cos( radians(". $lat .") ) * cos( radians( lat ) ) * cos( radians( log ) - radians(". $lng .") ) + sin( radians(". $lat .") ) * sin( radians( lat ) ) ) ) AS distance FROM geoinfo WHERE (zipcode = '$search_text' OR city = '$search_text' OR state = '$search_text') AND (distance < '$radius')";
$numberofstores = $resultstore = mysqli_query($conn, $statement);
请帮忙。
答案 0 :(得分:0)
您可以通过将WHERE距离更改为HAVING distance来解决此问题,这是因为您无法在SQL WHERE子句中使用派生列别名。