我遇到了一个奇怪的问题,我现在试图解决相当长的时间,但可以找到任何解决方案。
我正在生成一些线条,其中包括一个复选框。我在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查询&结果
现在,我正在使用基本的IF检查是否有任何记录,因此我可以检查复选框
<input type="checkbox" name="mychk" id="mychk" value="somevalue" <?php if($anz>0) echo "checked"; ?> />
所有在我的数据库中都有适当条目的复选框,除了生成的第一个复选框,我可以在Free Wild上交换盒子,第一个从未被检查。我试图在我的if中直接使用$row["Anz"]
,没有解决问题。
我认为PHP不能正确解释我的查询的返回值,但是我对如何解决此问题一无所知。
有人遇到了类似的问题,可以帮助我吗?我是在这里发布的新手,所以请告诉我您是否需要更多信息。预先感谢!
编辑:我只是尝试将查询从COUNT(*)
更改为if(COUNT(*)>0,'ja','nein')
,同时也将IF更改为if($anz=="ja")
$anz
的值仍然保持空。
我找到了解决方案。我的问题是我查询的第二个提取。删除它后,一切正常。