任何人都可以告诉我为什么我在我的日期字段中得到全零

时间:2014-12-01 18:17:06

标签: php mysql date

我对php很新,是的,我知道SQL注入攻击,只是试图让这个工作。除了日期之外,所有内容都正确地发布到mysql表中,我不断得到全零。为什么?该字段设置为datetime。       

include('../htconfig/dbConfig.php'); 
$dbSuccess = false;
$dbConnected = mysql_connect($db['hostname'],$db['username'],$db['password']);

if ($dbConnected) {     
    $dbSelected = mysql_select_db($db['database'],$dbConnected);
    if ($dbSelected) {
        $dbSuccess = true;
    }   
}
$Sldate = date("m-d-Y");
$data_back = json_decode(file_get_contents('php://input'));


    $userName = $data_back->{"User"};
    $password = $data_back->{"Pword"};
    $SoldTo = $data_back->{"Soldto"};
    $SoldPrice = $data_back->{"SoldPrice"};
    $SoldEmail= $data_back->{"Email"};
    $VIN = $data_back->{"VIN"};



mysql_query("UPDATE tblinventory SET SOLD ='1',DATESLD = '$Sldate', DealerName='$SoldTo', SoldPrice = '$SoldPrice', DealerEmail = '$SoldEmail' WHERE VIN =$VIN");
echo ('SOLD');

///send email

?>

2 个答案:

答案 0 :(得分:2)

MySQL希望您的日期为YYYY-MM-DD格式,而不是MM-DD-YYYY。

$Sldate = date("Y-m-d");

您还可以删除此代码的PHP部分,并直接在SQL中执行此操作

DATESLD = CURDATE()

答案 1 :(得分:0)

您获得00-00-00 00:00:00的原因是因为MYSQL无法将您的日期时间识别为有效,因此它会插入默认值。有时你也会得到1947-08-25 19:31:00。

您的日期时间对象需要正确格式化。 PHP的DateTime类可以很容易地完成这项工作,但是你需要5.2版才能使用它。

$date = new DateTime();
$Sldate = $date->format('Y-m-d');