好的,我的问题很奇怪 我在 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 但如果我手动输入日期,它就可以正常工作!
我试过 trim/(string) 没有用 :(
最佳答案
改变:
$newdate="$YEAR/$DAY/$MONTH";
收件人:
$newdate=$YEAR.'-'.$MONTH.'-'.$DAY;
基本上,您需要使用 SQL 标准日期格式来确保 PHP 不会“猜测”格式。
关于php - DATE php 和 mysql 唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15467125/