【发布时间】:2015-07-19 19:05:07
【问题描述】:
我在我正在处理的这个网站上的现有表单上放置了一个新的复选框,我希望它根据复选框是否选中来更新数据库为 0 或 1。我已经在这几个小时了,但无济于事。
这是我的输入代码:
<input type="hidden" name="propHosp" value="0">
<input type="checkbox" name="propHosp" <? if($propHosp == "1") echo "checked='checked'"; ?> value="1">
这是我在 SQL 插入查询代码周围放置的代码:
$hospValue = (isset($_GET['propHosp'])) ? intval($_GET['propHosp']) : 0; // returns 0 or 1
$sql = "INSERT INTO comments SET ";
$sql.= "propHosp = $hospValue";
--other sql lines omitted--
propHosp 是列,它的默认值为 0。如果复选框被选中,它应该是 1。它只是每次都用 0 创建新行。我也尝试将 $_GET 更改为 $_POST ,但没有运气。感谢您的帮助!
【问题讨论】:
-
您的隐藏输入和复选框都具有相同的名称属性; 为什么?
-
我这样做是因为我在这里引用了这篇文章 - stackoverflow.com/questions/22373180/…
-
哦,我明白了。尝试检查 PHP 和 MySQL 方面的错误。另外,您的专栏类型也可能在起作用。
-
在打开 PHP 标记后立即将错误报告添加到文件顶部,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,以查看它是否产生任何结果,以及 @987654325 @到mysqli_query()。但后者适用于mysqli_,所以我不知道您使用的是哪个 MySQL API。相应调整。 -
另一件事。确保在您的系统上启用了短开放标签。如果不是,那么您需要将
<?更改为<?php。这也可能是另一个问题。