Php 如何将日期插入数据库?
我已经查过怎么做了,但我就是不知道怎么做。请告诉我如何将月、日和年组合成一个日期插入mysql数据库。我的问题不是向数据库发送信息。我的问题是我将3个单独的字段(月、日、年)发送到数据库。请确切地告诉我在哪里放置您推荐的代码。 这是我的密码:Php 如何将日期插入数据库?,php,mysql,date,Php,Mysql,Date,我已经查过怎么做了,但我就是不知道怎么做。请告诉我如何将月、日和年组合成一个日期插入mysql数据库。我的问题不是向数据库发送信息。我的问题是我将3个单独的字段(月、日、年)发送到数据库。请确切地告诉我在哪里放置您推荐的代码。 这是我的密码: <?php function register_user($register_data) { array_walk($register_data, 'array_sanitize'); $fields = '`' . implode('`, `',
<?php
function register_user($register_data) {
array_walk($register_data, 'array_sanitize');
$fields = '`' . implode('`, `', array_keys($register_data)) . '`';
$data = '\'' . implode('\', \'', $register_data) . '\'';
mysql_query("INSER INTO `users` ($fields) VALUES ($data)");
}
?>
<form action="" method="post">
<ul>
<li>
<select name="month">
<option value="01">January</option>
//all the other month options
</select>
<select name="day">
<option value="01">1</option>
//all the other days
</select
<select name="year">
<option value="2013">2013</option>
//more year options
</select>
</li>
<li>
<input type="submit" name="registrationform" value="Sign up">
</li>
</ul>
</form>
<?php
if (empty($_POST) === false && empty($errors) === true){
$register_data = array(
'Month' => $_POST['month'],
'Day' => $_POST['day'],
'Year' => $_POST['year']
);
register_user($register_data);
//redirect
exit();
?>
-
一月
//所有其他月份的选择
1.
//其他日子
在MySQL中将您的生日列设为日期或日期时间字段,然后按如下方式插入:
$_POST['year'] . "-" . $_POST['month'] . "-" . $_POST['day']
以年、月、日(按顺序)为单位,在每一个日期之间放置一个连字符(ASCII字符#45)。就这样 注意你有4个数字表示年,两个数字表示月,两个数字表示日(也称为数字) 重要的是,您的结果应如以下示例所示:
October 3rd 2011 := 2011-10-03
1st Feb '13 := 2013-02-01
还要注意不要有不存在的日期,比如31号。十一月的或类似的
以及:
。它们不再得到维护。看到了吗?相反,学习,并使用,或-将帮助您决定哪一个。如果您选择PDO,.我会像这样连接生日字段:
$birthday = $_POST['year'] . '-' . $_POST['month'] . '-' . $_POST['day'];
然后您可以插入它:
mysql_query("INSERT INTO users (birthday) VALUES ('" . $birthday . "')");
你有很多方法
您可以在int
类型的数据库中将它们拆分为三个不同的字段
或
您可以将该字段用作日期
CREATE TABLE `date` (
`dp_date` date NOT NULL default '0000-00-00',
) ;
$query_manual = "INSERT INTO date(dp_date)
VALUES ($_POST['year']-$_POST['month']-$_POST['day']')";
然后,表中需要一个名为“生日”的列,它的类型应该是“日期”我建议您在
<?php
function register_user($register_data) {
$register_data['birthday'] = $register_data['year'] . '-' . $register_data['month'] . '-' . $register_data['day'];
unset($register_data['year']);
unset($register_data['month']);
unset($register_data['day']);
array_walk($register_data, 'array_sanitize');
$fields = '`' . implode('`, `', array_keys($register_data)) . '`';
$data = '\'' . implode('\', \'', $register_data) . '\'';
mysql_query("INSER INTO `users` ($fields) VALUES ($data)");
}
?>