所以我有一个带有单个出生日期字段(称为 DOB)的普通表单,我通过 POST 请求发送数据,如下所示:
$dob = $_POST['dob'];
$dob_db = date('Y-m-d', strtotime(str_replace('-', '/', $dob)));
我遇到了同一页面上有多个 DOB 字段的情况,如下所示:
<input type="text" id="dob[]" class="datepicker" name="dob[]" placeholder="Day/Month/Year" value="" data-parsley-required="true" data-parsley-required-message="Captain's Date of Birth is required." data-parsley-errors-container="#p1_dob-error" class="form-control">
我还有其他字段,例如名称等,我收集详细信息并将其发送到数据库,如下所示:
$name_array = $_POST['name'];
$mobile_array = $_POST['mobile'];
$email_array = $_POST['email'];
for ($i = 0; $i < count($name_array); $i++) {
$name = mysql_real_escape_string($name_array[$i]);
$mobile = mysql_real_escape_string($mobile_array[$i]);
$email = mysql_real_escape_string($email_array[$i]);
mysql query here, etc, etc
}
我似乎无法让 DOB 字段以同样的方式工作。也尝试了同样的方法。感谢一些帮助。
编辑:我尝试添加 DOB 字段,但它不起作用。其他所有内容都会很好地传递到数据库,但只有 DOB 字段是我所坚持的。
$name_array = $_POST['name'];
$mobile_array = $_POST['mobile'];
$email_array = $_POST['email'];
$dob_array = $_POST['dob'];
$dob_db_array = date('Y-m-d', strtotime(str_replace('-', '/', $dob_array)));
for ($i = 0; $i < count($name_array); $i++) {
$name = mysql_real_escape_string($name_array[$i]);
$mobile = mysql_real_escape_string($mobile_array[$i]);
$email = mysql_real_escape_string($email_array[$i]);
$dob_db = mysql_real_escape_string($dob_db_array[$i]);
mysql query here, etc, etc
}
最佳答案
你尝试过吗?
$dob = $_POST['dob'];
$fdob = str_replace('-', '/', $dob);
$dob_db = date('Y-m-d', strtotime($fdob));
您的mysql列是否设置为日期
或用户定义为0000-00-00
?
我使用的是移动设备,因此无法发表评论。
关于php - 以 PHP 形式将格式化日期发送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042686/