在SQL查询中输入变量

时间:2016-03-07 08:14:56

标签: php mysql sql

我编写了以下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);   

请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以通过将WHERE距离更改为HAVING distance来解决此问题,这是因为您无法在SQL WHERE子句中使用派生列别名。

相关问题