PHP MySQL SELECT语句返回null

时间:2018-06-15 09:52:37

标签: php mysql null

我想从MySQL中选择具有where条件的数据。

我确定条件是错误的,这就是为什么它不应该返回任何数据或任何行,但它返回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 statement null

1 个答案:

答案 0 :(得分:1)

根据documentation

  

SUM([DISTINCT] expr)

     

返回expr的总和。如果返回集没有行,则SUM()返回NULL。 DISTINCT关键字可用于仅对expr的不同值求和。

     

如果没有匹配的行,则SUM()返回NULL。

因此,如果没有数据,您将始终为NULL。

相关问题