这个问题在这里已经有答案了:
理解mysql中的sum(null)(2个答案)
两年前关门了。
我想从中选择数据 MySQL
带有where条件。
我确信条件是false,这就是为什么它不应该返回任何数据或任何行,但它返回null。我和你核对过了 $stmt2->num_rows > 0
这个条件是真的。
我怎样才能防止这种情况发生?
我的代码应该如何工作:这个条件第一次应该是false,在我插入一些数据之后应该是true。
我想是给你的 SUM()
在select语句中使用的。我该怎么做?
$q2="SELECT SUM(liked), SUM(disliked) FROM like_dislike WHERE post_id=?";
$stmt2 = $conn->prepare($q2);
$stmt2->bind_param('i', $post_id);
$stmt2->execute();
$stmt2->store_result();
$stmt2->bind_result($like_status, $dislike_status);
if ($stmt2->num_rows > 0 ) {
$stmt2->fetch();
}
else {
$like_status =0;
$dislike_status =0;
}
phpmyadmin中的select语句结果:
1条答案
按热度按时间hrysbysz1#
根据文件:
总和([distinct]expr)
返回表达式的和。如果返回集没有行,sum()将返回null。distinct关键字只能用于对expr的distinct值求和。
如果没有匹配的行,sum()将返回null。
所以,如果没有数据,结果总是空的。