我在下面的mySQL查询看起来像我所期望的那样工作,返回距离地理坐标输入(由single
和$lat1
表示)50英里内$lat2
人的计数。值lattitude
和longitude
来自数据库中已有的值。
我现在唯一的问题是,假设没有人符合给定的标准,我希望计数返回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/