我下面的 mySQL 查询似乎按我预期的那样工作,返回 single
的计数。距地理坐标输入(由 $lat1
和 $lat2
表示)50 英里范围内的人。值 lattitude
和 longitude
来 self 数据库中已有的值。
我现在唯一的问题是,假设没有满足给定标准的人,我希望计数返回 0。相反,我得到一个空的响应。
SELECT
COUNT(*) as cnt,
(3959 *
acos(
cos(radians({$lat1}))
* cos(radians(lattitude))
* cos(radians(longitude) - radians({$lon1}))
+ sin(radians({$lat1}))
* sin(radians(lattitude))
)
) AS distance
FROM members WHERE status = 'single' HAVING distance < 50
如果它很重要,我会通过 $row = mysqli_fetch_assoc($query);
获取我的数据其中 $query
是您在上面看到的代码。
最佳答案
你应该使用 ifnull
SELECT ifnull(COUNT(*), 0) as cnt,
关于mysql - 返回空而不是 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41315178/