如何将复选框的值存储到表中

时间:2011-11-10 17:52:04

标签: php mysql html

我想将一个复选框的值存储到我的sql数据库中,基本上我想保存默认值,如果它被检查或不是..我不知道这会保存什么是真还是假?

<div><input type="checkbox" value="Yes" name="chk"/> Yes! I will come!</div>

我应该像这样插入我的桌子吗?

'$_POST[chk]'

谢谢

4 个答案:

答案 0 :(得分:5)

如果选中,

$_POST[chk]将返回文本Yes(如果选中),如果没有,则不会设置它。知道了这一点,你可以设置你想要的db字段,对于tinyint类型说10

$chk = isset($_POST['chk']) ? 1 : 0;
$sql = "update tbl set chk1 = $chk";

答案 1 :(得分:1)

是。在插入之前清理输入。

使用

if(isset($_POST[chk]) ) {  
      $chk = (string) $_POST[chk];
   }

答案 2 :(得分:1)

没有

你应该这样做

if(isset($_POST['chk'])):
$chk = mysql_real_escape_string($_POST['chk']);
else:
$chk = 0;
endif;
$sql = "INSERT INTO table VALUES ('$chk')";

然后将字段插入'$ chk'。 这是最安全的方法,最好删除变量的['']部分,因为它可能会在将SYNTAX添加到表中时影响它。

答案 3 :(得分:1)

我建议将tinyint(1)数据类型用于计划存储是否已选中复选框的列。

ALTER table `my_table` ADD COLUMN `my_checkbox_col` tinyint(1) unsigned NOT NULL default 0;