SQL 查询中的输入变量


Input variables in a sql query

我编写了以下sql查询以实现半径搜索。似乎这一部分不起作用。我认为这是一个语法错误。

$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);   

请帮忙。

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