php mysql正在查看如何检查是否没有结果
我有这个密码php mysql正在查看如何检查是否没有结果,php,mysql,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
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',但它没有
如果我在db中修改值为“2018”的字段anno,它将起作用
感谢您的帮助当您使用像
max()
这样的聚合函数时,您总是会得到一行,如果没有匹配的行,它将返回null
所以你需要把你的测试改成
if($row['max_ricevuta'] != null){
echo $row['max_ricevuta'];
}
else {
echo "1";
}
正如RiggsFolly还指出的,值得检查您在测试中使用的值,您已经
$contabilita="d";
而示例数据显示,当使用诸如
max()
之类的聚合函数时,您总是会得到一行,如果没有匹配的行,它将返回null
所以你需要把你的测试改成
if($row['max_ricevuta'] != null){
echo $row['max_ricevuta'];
}
else {
echo "1";
}
正如RiggsFolly还指出的,值得检查您在测试中使用的值,您已经
$contabilita="d";
而示例数据显示的是
nd
请向我们展示您的表格内容。我是否正确格式化了它?我不知道如何格式化它。如果您能帮助我,我们将不胜感激但数据库具有contabilita=nd
尝试更改$contabilita=“nd”代码>我希望它在找不到相同的contabilita值时也打印“1”。因此,如果anno或contabilita与数据库中的内容不同,则必须打印“1”,请向我们展示您的表格内容。我是否正确设置了格式?我不知道如何设置格式。如果您能帮助我,我们将不胜感激
但数据库具有contabilita=nd
尝试更改$contabilita=“nd”代码>我希望它在找不到相同的contabilita值时也打印“1”。因此,如果anno或contabilita与数据库中的内容不同,则必须打印“1”Nigel,您也可以添加我对$contabilita=“d”的评论;但是数据库有contabilita=nd,请尝试更改$contabilita=“nd”
为了让答案更完整,您不妨添加我对$contabilita=“d”的评论;但是数据库有contabilita=nd,请尝试更改$contabilita=“nd”代码>只是为了让答案完整