1

OK、私の問題は非常に奇妙です。php にこのコードがあり、月と年の 3 つの変数を渡しています。

$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;

基本的に、PHP が形式を「推測」しないようにするために、SQL 標準の日付形式を使用する必要があります。

于 2013-03-17T22:50:50.377 に答える