php - 位置查找器的 MySQL #1064 错误
问题描述
我试图通过以下搜索找到最接近用户的 10 个条目:
$data_query = mysqli_query($db, "SELECT *
111.045 * DEGREES(ACOS(COS(RADIANS(latpoint))
* COS(RADIANS(latitude))
* COS(RADIANS(longpoint) - RADIANS(longitude))
+ SIN(RADIANS(latpoint))
* SIN(RADIANS(latitude)))) AS distance_in_km
FROM merchants
JOIN (
SELECT 33.889676 AS latpoint, 151.193024 AS longpoint
) AS p ON 1=1
ORDER BY distance_in_km
LIMIT 15");
但是我收到以下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '111.045 * DEGREES(ACOS(COS(RADIANS(latpoint))
* COS(RADIANS(la' at line 2
我试着SELECT *
改成SELECT latitude, longitude
(使用 `` 但 Stack Overflow 不断弄乱语法)但它并没有做太多。
我是新手PHP
,MySQL
所以我对这里可能出现的问题感到非常陌生。
干杯:)
解决方案
如果您还想选择所有内容,请在第一个之后添加逗号*
:SELECT *, 111.045 ...
如果没有,请先删除*
推荐阅读
- excel - 在 Excel 名称管理器中添加名称时出错
- javascript - 如何将 onclick 事件添加到在 javascript 中创建的 img 元素
- tfs - 如何设置在 VSTS 上发布新 Wiki 版本的权限
- firebase - rxjs:如何从 Firestore 获取相关数据
- php - laravel-5 配置错误
- xslt - 当我的 XML 包含前缀时如何使用 XSLT?
- objective-c - UIWebView 访问照片库但有多个选择
- javascript - 在画布中绘制三角曲线
- node.js - 为什么sequelize在连接express session时返回500 [object SequelizeInstance:Users]?
- python-3.x - 在python中分组(分组依据)时删除小数