PHP 将查询结果解释为 0

我遇到了一个奇怪的问题,我现在试图解决很长一段时间,但找不到任何解决方案。


我正在生成一些带有信息的行,每行都包含一个复选框。我在 PHP 中有以下代码,用于检查是否存在 certrain 条目,如果存在,则选中复选框。


$sql = "SELECT COUNT(*) anz FROM jubilaeum WHERE jahr='".$Jahr."' AND mon='".$num."' AND AdrNr='".$RS1_row["AdrNr"]."' AND type='1'";

$rs_erledigt = $db->prepare($sql);

$rs_erledigt->execute();

$row = $rs_erledigt->fetch();

$anz = $row["anz"];

该代码为我生成以下 SQL 查询:


SELECT COUNT(*) anz FROM jubilaeum WHERE jahr='2019' AND mon='5' AND AdrNr='14061' AND type='1'


现在我使用一个基本的 IF 来检查是否有任何记录被发现,以便我可以选中一个复选框


<input type="checkbox" name="mychk" id="mychk" value="somevalue" <?php if($anz>0) echo "checked"; ?> />

所有在我的数据库中有正确条目的复选框都被选中,除了第一个生成的复选框,我可以随意交换框,第一个永远不会被选中。我试图$row["Anz"]直接在我的 IF 中使用,但没有解决问题。


我认为 PHP 没有正确解释我查询的返回值,但我对如何解决这个问题一无所知。


有人遇到过类似的问题,可以帮我解决这个问题吗?我是在这里发帖的新手,所以如果您需要更多信息,请告诉我。提前致谢!


编辑:我只是尝试将 Query 从 to 更改COUNT(*)为if(COUNT(*)>0,'ja','nein')同时将 if 更改为仍然为空if($anz=="ja") 的值$anz。


蝴蝶刀刀
浏览 144回答 1
1回答

慕后森

我找到了解决方案。我的问题是我的查询的第二次提取。删除后,一切正常。
打开App,查看更多内容
随时随地看视频慕课网APP