php - 如何通过php中的表单将时间存储到数据库
问题描述
我想使用准备好的语句通过 HTML 表单将日期和时间分别保存到我的表中。但是它给了我错误:
致命错误:未捕获的错误:在堆栈跟踪中调用 bool 上的成员函数 bind_param():在第 33 行抛出 #0 {main}。
这是我的代码:时间条目位于底部。我正在尝试将它们保存为我的数据库中的 varchar
if(isset($_POST['CateSubmit'])){
$test_type = $mysqli->real_escape_string($_POST['type2']);
$course_id = $mysqli->real_escape_string($_POST['course_id']);
$stream_id = $mysqli->real_escape_string($_POST['stream_id']);
$subject_id = $mysqli->real_escape_string($_POST['subject_id']);
$subject_id1 = $mysqli->real_escape_string(empty($_POST['subject_id1'])?'0':$_POST['subject_id1']);
$chapter_id = $mysqli->real_escape_string(empty($_POST['chapter_id'])?'0':$_POST['chapter_id']);
$exame_year = $mysqli->real_escape_string($_POST['exame_year']);
$duration = $mysqli->real_escape_string($_POST['duration']);
$nag_marks = $mysqli->real_escape_string($_POST['nag_marks']);
$topic = $mysqli->real_escape_string(empty($_POST['topic'])?'':$_POST['topic']);
$ap_qty = json_encode($_POST['ap_qty'],JSON_FORCE_OBJECT);
$s_qty = json_encode($_POST['s_qty'],JSON_FORCE_OBJECT);
$uniq_id = uniqid();
$subject_name = $mysqli->real_escape_string($_POST['subject_name']);
$exam_start_date = $mysqli->real_escape_string($_POST['exam_start_date']);
$exam_end_date = $mysqli->real_escape_string($_POST['exam_end_date']);
$exam_start_time = $mysqli->real_escape_string($_POST['exam_start_time']);
$exam_end_time = $mysqli->real_escape_string($_POST['exam_end_time']);
$query2= $mysqli->query("INSERT INTO digi_test_exame SET test_id='".$uniq_id."'");
$query = "INSERT INTO digi_mock_test(test_type,course_id,stream_id,subject_id,subject_id1,chapter_id,exame_year,duration,nag_marks,ap_qty,s_qty,uniq_id,subject_name,exam_start_date,exam_end_date,topic,exam_start_time,exam_end_time)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
$statement = $mysqli->prepare($query);
$statement->bind_param('ssssssssssssssssss', $test_type,$course_id,$stream_id,$subject_id,$subject_id1, $chapter_id, $exame_year,$duration,$nag_marks,$ap_qty,$s_qty,$uniq_id,$subject_name,$exam_start_date,$exam_end_date,$topic,$exam_start_time,$exam_end_time);
这是表格:为了节省时间,跳过表格的其余部分。
<hr>
Exam Schedule
<hr>
<div class="form-row">
<div class="form-group col">
<label for="exam_start_date">Test Start Date</label>
<input type="date" class="form-control" name="exam_start_date">
</div>
<div class="form-group col">
<label for="exam_end_date">Test End Date</label>
<input type="date" class="form-control" name="exam_end_date">
</div>
<div class="form-group col">
<label for="exam_end_date">Test Start At</label>
<input type="time" class="form-control" name="exam_start_time">
</div>
<div class="form-group col">
<label for="exam_end_date">Test End At</label>
<input type="time" class="form-control" name="exam_end_time">
</div>
</div>
<?php
}
?>
<button type="submit" class="btn btn-success mr-2" name="CateSubmit">Submit</button>
</form>
请指导我我做错了什么。我的列名是正确的,并且在添加时间字段之前查询的其余部分正在工作。
解决方案
推荐阅读
- dompdf - dompdf 0.8.2 带有变量/代码 php 的 pdf 模板
- python - python对象的内存分配
- c - 在 linux 中 fork 和 exec 几个孩子
- c - 在可变大小的井字游戏网格中检查获胜的最有效方法是什么?
- javascript - 为什么“()=> this.tick()”和“this.tick()”不一样?
- ios - Swift NSFetchedResultsController Sections 总是返回 nil
- c# - 有人可以解释这里发生的 Parallel.ForEach 循环逻辑吗?
- python - 在 python 字典中的列表中搜索值
- python - 使用python访问在线数据
- javascript - FullCalendar:Uncaught TypeError: $(...).modal 不是函数