日期在mysql数据库中存储为0000-00-00?

时间:2016-06-07 11:37:10

标签: php android mysql date

我有一个Android应用程序,使用谷歌的凌空库将数据发送到mysql数据库。当数据保存到数据库时,它采用这种格式的代码。 这是我试图实现的PHP代码。

<?php

        include "config.php";
        $dbname =$_POST["dbname"];
        $con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$dbname);
         if(!$con)
         {
                         echo "Connection Error".mysqli_connect_error();
         }
         else{
        //echo "";
         }

        $arrAssoc = json_decode(stripslashes($_POST['jsonarray']), true);
        $values="";
        foreach($arrAssoc as $aa){
                //echo "<pre>";print_r($aa);exit;
                $values.="(";
                $values.=" '".$aa['doc_no']."',";
                $values.=" '".$aa['date']."',";
                $values.=" '".$aa['cust_name']."',";
                $values.=" '".$aa['cust_number']."',";
                $values.=" '".$aa['item_count']."',";
                $values.=" '".$aa['total_wt']."',";
                $values.=" '".$aa['sub_total']."',";
                $values.=" '".$aa['discount']."',";
                $values.=" '".$aa['vat']."',";
                $values.=" '".$aa['paid']."',";
                $values.=" '".$aa['urd_less']."',";
                $values.=" '".$aa['total']."',";
                $values.=" '".$aa['balance']."',";
                $values.=" '".$aa['bill_type']."',";
                $values.=" '".$aa['status']."'";
                $values.="),";
        }
        $values=rtrim($values,',');

        $query="INSERT INTO billing_all(doc_no, date,cust_name, cust_number, item_count,total_wt,sub_total,discount,vat,paid,urd_less,total,balance,bill_type,status)VALUES".$values;

        if(mysqli_query($con,$query))
        {
        echo "Data inserted";
        }else
        {
       echo "Data insertion error".mysqli_error($con);
        }


?>

这是日期的java代码。

//code for date
        java.util.Date dt = new java.util.Date();
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MMM-yyyy");
        final String date = sdf.format(dt);

这是我的数据库结构: - enter image description here

有没有办法可以在不影响我现有结构的情况下解决这个问题。我是编程的新手,所以任何帮助或建议都表示赞赏。谢谢。

2 个答案:

答案 0 :(得分:1)

你的java中的DateFormat是错误的,它应该是:

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");

答案 1 :(得分:0)

USE DATE_FORMATSTR_TO_DATE

date_format(str_to_date(date_column,'dd-MMMM-yyyy'),'%Y-%m-%d')