将日期插入数据库

时间:2013-06-20 08:45:39

标签: php html mysql

我有一个带有两个文本框的表单,我在其中显示月份日历,就像在任何其他在线表单中一样,以选择日期。用户选择日期。我希望用户选择一个等于系统日期或之后的日期,就像明天一样。我正在比较日期,然后尝试将其插入到具有两列opening_date和结束日期的数据库中。我甚至不希望文本框留空。我有以下代码,但没有成功。

<?php
mysql_select_db("trials");
if(isset($_POST['next']))
{
    $odate=date("Y-m-d");//system date
    echo $odate;
    if(($_POST['date1']>$odate)||($_POST['date1']==$odate)&&($_POST['date1']!=""))
    {
    $s=mysql_query("insert into registration_date (opening_date, closing_date) values('$_POST[date1]','$_POST[date2]')");
    echo $s;
    if(mysql_query($s))
    {
        echo "successful";
    }
    else echo "error".mysql_error();
    }
    else
        echo "Enter A Valid Date";

}
?>

3 个答案:

答案 0 :(得分:1)

您还在$s集合中使用了两次mysql_query,然后在mysql_query($s)之后执行mysql_query(mysql_query("sql")),这有效地执行了$s=mysql_query("insert into registration_date (opening_date, closing_date) values('$_POST[date1]','$_POST[date2]')"); echo $s; if(mysql_query($s))

{{1}}

答案 1 :(得分:0)

替换

if(($_POST['date1']>$odate)||($_POST['date1]==$odate)&&($_POST['date1']!=""))

用这个

if(($_POST['date1']>$odate)||($_POST['date1']==$odate)&&($_POST['date1']!=""))

你错过了date1的一个引用,也尝试了

$open_date = $_POST['date1'];
$close_date = $_POST['date2'];
$s=mysql_query("INSERT INTO registration_date (opening_date, closing_date)
                VALUES ('$open_date','$close_date')");

并尝试避免使用mysql_ *函数,因为它们已被删除。而是使用 mysqli _ *函数或 PDO 语句

答案 2 :(得分:0)

获取function time()这样的系统日期:$odate=time();并将$_POST[date]转换为如下数字:strtotime($_post[date])。在此之后,您可以执行此操作:$_POST[date]>$odate。通过这种方式,您将有两个数字进行比较。