1

好的,我的问题很奇怪我在 php 中有这段代码传递了三个变量日月和年

$MONTH=$_POST['day']; 
$DAY=$_POST['month']; 
$YEAR=$_POST['year'];
$newdate="$YEAR/$DAY/$MONTH";
$DATEOFBITH=date("Y-m-d H:i:s", strtotime($newdate));

$newdate 的输出:1967/1/1

看起来不错,但是当我查看 mysql 时,它显示为零,但是如果我编写如下代码。并将其插入 mysql 它可以工作!

$newdate="1986/1/1";
$DATEOFBITH=date("Y-m-d H:i:s", strtotime($newdate));

我尝试了一切仍然没有得到它!

如果也做了比较

$MONTH=$_POST['day']; 
$DAY=$_POST['month']; 
$YEAR=$_POST['year'];
$olddate="$YEAR/$DAY/$MONTH";
$newdate="1986/1/1";
if($newdate==$olddate){
echo "the same";
}

它输出:相同

那么,问题是什么?当我使用 POST 时,它不适用于 mysql,但如果我手动输入日期,它就可以正常工作!

我试过修剪/(字符串)没有工作:(

4

1 回答 1

1

改变:

$newdate="$YEAR/$DAY/$MONTH";

至:

$newdate=$YEAR.'-'.$MONTH.'-'.$DAY;

基本上,您需要使用 SQL 标准日期格式来确保 PHP 不会“猜测”该格式。

于 2013-03-17T22:50:50.377 回答