我想将一个复选框的值存储到我的sql数据库中,基本上我想保存默认值,如果它被检查或不是..我不知道这会保存什么是真还是假?
<div><input type="checkbox" value="Yes" name="chk"/> Yes! I will come!</div>
我应该像这样插入我的桌子吗?
'$_POST[chk]'
谢谢
答案 0 :(得分:5)
$_POST[chk]
将返回文本Yes
(如果选中),如果没有,则不会设置它。知道了这一点,你可以设置你想要的db字段,对于tinyint类型说1
或0
:
$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;