php - 以 PHP 形式将格式化日期发送到数据库

标签 php mysql

所以我有一个带有单个出生日期字段(称为 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/

相关文章:

php - 当将有关 mysql 表的信息作为链接回显,并使用 $_GET 发送要在另一个页面中检索的链接信息时不起作用

Mysql root 密码重置后不起作用

php - 如何在 PHP 中提取大括号内的值?

php - Codeigniter 2 多重连接和where语句

php - 在 PHP 中缓存中型/大型数据集的最佳工具/策略有哪些?

mysql - SQL 中分组属性的不同值

php - 乔姆拉! - 哪个文件包含注册码?

php - 如何动态检查 PHP 中匿名函数预期的参数数量?

MySQL 启动时崩溃

php - Mysql 减少查询次数