php将出生日期插入mysql

时间:2011-03-21 21:25:20

标签: php mysql forms phpmyadmin

我使用html <select><option>表单来收集用户的数据。但是,当我试图将出生日保存到数据库时,我遇到了困难。 这是我想要做的:

$dob = $_POST['year'] . '-' . $_POST['month'] . '-' .$_POST['day'];

$insertInto = " INSERT INTO `users`.`information` (id, useremail, password, firstname, lastname, gender, dob, telephone)
VALUES ( NULL, '$_POST[email]','$_POST[password]','$_POST[firstname]','$_POST[lastname]','$_POST[formGender]','$dob', '$_POST[telephone]')";

它适用于$dob以外的所有内容,有人可以指导我找到错误吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

如果你不介意使用unix的纪元,你可以简单地把你的用户输入并做一个简单的strtotime()。它将为您提供更大的灵活性,以及​​如何使用date()函数显示它。

$dob = "1/1/1985";
$string = strtotime($dob);

然后把它吐出来:

$data = pull epoch result from database
$birthday = date("m/d/Y", $data);

答案 1 :(得分:0)

在进行查询调用之前,首先检查$ dob的值。然后,如果它看起来没问题(例如1984-10-10),请将你的dob设为日期/日期时间。

到现在为止,你得到了什么错误?它被设置为全0或者究竟是什么?

注意:您将接触到SQL注入。我总是建议使用PDO和几乎所有SQL查询的预准备语句。 http://mx.php.net/manual/en/pdo.prepare.php