gpt4 book ai didi

php - MySQL SELECT 查询在没有记录的情况下返回多维数组

转载 作者:行者123 更新时间:2023-11-29 22:09:02 25 4
gpt4 key购买 nike

我在 MySQL 中使用简单的选择查询来获取两个表中存在的经理总数。当数据库中存在管理器并且返回多维数组时,它可以正常工作。

但是当没有经理存在时。即使如此,它也会返回一个所有值都为空的多维数组。如果不存在记录,我希望它返回 null 或 false 或空。

代码:

$query = "SELECT
mpp.ManagerWeeklyPointId,
mpp.ManagerId,
manager.ManagerName,
manager.ManagerLastName,
SUM(
mpp.Point
) AS Points
FROM
managerpredictorpoint as mpp
INNER JOIN manager ON mpp.ManagerId = manager.ManagerId
WHERE
manager.Verified = 1 AND
manager.Blocked = 0
ORDER BY Points DESC,manager.ManagerId ASC
LIMIT $offset, $limit";

$obj = $GLOBALS['DBConnect']->prepare($query);
$executeResult = $obj->execute();
$response2 = $obj->fetchAll(PDO::FETCH_ASSOC);
var_dump($response2);exit;

输出:

array (size=1)
0 =>
array (size=5)
'ManagerWeeklyPointId' => null
'ManagerId' => null
'ManagerName' => null
'ManagerLastName' => null
'Points' => null

最佳答案

我认为这是因为你使用了 sum() 函数。看例子http://sqlfiddle.com/#!9/61816/2 :

select id from t1 where c=2;
select id, sum(c) from t1 where c=2

第一个选择不返回任何内容,但第二个选择返回包含空值的行

这么写

select id, sum(c) s from t1 where c=2 having not isnull(s)

关于php - MySQL SELECT 查询在没有记录的情况下返回多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com