使用php在mysql数据库中保存复选框(布尔)值
我正在尝试保存复选框值。。我正在做一个带有复选框表单的注册系统。它的功能是知道学生是否通过了要求,因此我将其指定为布尔类型。如果选中,则必须保存值“1”,如果未选中,则必须保存值“0” 错误是:使用php在mysql数据库中保存复选框(布尔)值,php,mysql,checkbox,boolean,Php,Mysql,Checkbox,Boolean,我正在尝试保存复选框值。。我正在做一个带有复选框表单的注册系统。它的功能是知道学生是否通过了要求,因此我将其指定为布尔类型。如果选中,则必须保存值“1”,如果未选中,则必须保存值“0” 错误是: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 2 如果
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 2
如果我取消选中其中一项要求,则会发生以下情况:
Notice: Undefined index: brigada_form in C:\xampp2\htdocs\es\add_newstud.php on line 12
Notice: Undefined index: two_picture in C:\xampp2\htdocs\es\add_newstud.php on line 18
我真的需要一些帮助。这是密码
示例表单:1将值设置为“1”,并且我的数据库中的默认值为“0”
<input type="checkbox" name="two_picture" id="two_picture" value="1" />
首先,MySQL扩展在PHP5.5.0中被弃用,在PHP7.0.0中被删除。相反,应该使用MySQLi或PDO_MySQL扩展 如果您必须使用MySQL,我建议:
$insert_req = sprintf("INSERT INTO es_req_newstud (requirement_id,enrollment_form,report_card,brigada_form,physical_inspection_form,agreement_upon_enrollment,nso,good_moral,1x1_picture,2x2_picture) VALUES ('%d','%s','%s','%s','%s','%s','%s','%s','%d','%d');",
$_POST['requirement_id'],
mysql_real_escape_string($_POST['enrollment_form']),
mysql_real_escape_string($_POST['report_card']),
mysql_real_escape_string($_POST['brigada_form']),
mysql_real_escape_string($_POST['physical_inspection_form']),
mysql_real_escape_string($_POST['agreement_upon_enrollment']),
mysql_real_escape_string($_POST['nso']),
mysql_real_escape_string($_POST['good_moral']),
$_POST['one_picture'],
$_POST['two_picture']
);
mysql_query($insert_req) or die(mysql_error());
这将有助于确保不发生SQL注入。同样,我强烈建议您转到MySQLi或PDO。您好,在您的查询结束时,您缺少了一个“(图片后面)。----->,”$两张图片)“哦,谢谢。但是仍然有一个错误。您的SQL语法中有一个错误;请检查与MySQL服务器版本对应的手册,以了解在第2行附近使用的正确语法。我不知道有什么问题。
值
为什么这样包装?我建议只:插入到es_req\u newstud中(要求id、入学表格、报告卡、报告卡、体检表格、入学协议、nso、良好道德、1x1图片、2x2图片)值(“$requirement\u id”、“$inclusion\u form”、“报告卡”、“brigada\u form”、“体检表格”、“入学协议”、“nso”、“良好道德”、“一张图片”、“两张图片”)
$insert_req = sprintf("INSERT INTO es_req_newstud (requirement_id,enrollment_form,report_card,brigada_form,physical_inspection_form,agreement_upon_enrollment,nso,good_moral,1x1_picture,2x2_picture) VALUES ('%d','%s','%s','%s','%s','%s','%s','%s','%d','%d');",
$_POST['requirement_id'],
mysql_real_escape_string($_POST['enrollment_form']),
mysql_real_escape_string($_POST['report_card']),
mysql_real_escape_string($_POST['brigada_form']),
mysql_real_escape_string($_POST['physical_inspection_form']),
mysql_real_escape_string($_POST['agreement_upon_enrollment']),
mysql_real_escape_string($_POST['nso']),
mysql_real_escape_string($_POST['good_moral']),
$_POST['one_picture'],
$_POST['two_picture']
);
mysql_query($insert_req) or die(mysql_error());