php mysql寻找如何检查是否没有结果

时间:2018-12-10 19:36:46

标签: php mysql

我有此代码

require("connession.php");
$contabilita="d";
$dataa="10/12/2018";
$datam_0=explode("/", $dataa);
$datam = "".$datam_0[2];
$result = mysqli_query($con,"SELECT Max(n_ricevuta)+1 as max_ricevuta 
                            FROM corrispettivi_mod 
                            where anno='$datam' 
                            and contabilita='$contabilita'");
$row = mysqli_fetch_assoc($result);
if(mysqli_num_rows($result) > 0){
echo $row['max_ricevuta'];
}
else{echo "1";}

这是我的数据库

data        anno    n_ricevuta  contabilita
2019-12-01  2019    1           nd

在我的数据库中,我只有一行的字段值为'anno'2019,因此它必须打印为'1',但是没有。

如果我在数据库中修改字段anno的值为“ 2018”,那么它将起作用。

帮我谢谢

1 个答案:

答案 0 :(得分:3)

使用max()之类的聚合函数时,您总是会得到一行,如果没有匹配的行,它将返回null

所以您需要将测试更改为...

if($row['max_ricevuta'] != null){
    echo $row['max_ricevuta'];
}
else {
    echo "1";
}

正如RiggsFolly指出的那样,值得检查您在测试中使用的值

$contabilita="d";

示例数据显示nd