PHP将查询结果解释为0

时间:2019-05-24 08:30:51

标签: php mysql

我遇到了一个奇怪的问题,我试图解决这个问题已经有一段时间了,但找不到任何解决方案。

我正在生成一些信息行,每个行都包含一个复选框。我在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'

PHPMyAdmin Query & Result

现在我正在使用基本IF来检查是否找到任何记录,以便我可以选中一个复选框

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

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

我认为PHP无法正确解释查询的返回值,但我不知道如何解决此问题。

有人遇到过类似的问题并且可以帮助我吗? 我刚刚在这里发布信息,所以请告诉我是否需要更多信息。 预先感谢!

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我的问题是对查询进行第二次获取。删除后,一切正常。