mysql - 返回空而不是 0

标签 mysql

我下面的 mySQL 查询似乎按我预期的那样工作,返回 single 的计数。距地理坐标输入(由 $lat1$lat2 表示)50 英里范围内的人。值 lattitudelongitude来 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/

相关文章:

mysql - 当行不存在时加入?

php - 如果我不绑定(bind),则查询有效,但当我绑定(bind)时,查询会失败。我的错误在哪里?

mysql - 终端命令无法连接到 MySQL

sql - 如何使这个子子查询起作用?

php - 无法连接数据库,无法插入数据库

mysql - 使用 cakephp 在消息表 mysql 中获取用户之间的唯一对话

php - 将多个查询的结果保存在 codeigniter 中的单个数组中

mysql - m :n relationship 的所有不同值

php - 如何根据我的需要在 PHP 中格式化数组?

mysql - InnoDB 中撤消日志的大小是固定的还是随 iblogfiles 的大小而变化?重做呢?