私はmysqlのタイムゾーンに関する奇妙な問題があります。私のウェブサイトの設定ファイルでmysql timezoneを正しく設定するには
私はタイムゾーンを設定し、このラインを持っている:
mysql_query("SET SESSION time_zone = '$offset';"); // Offset is properly calculated, no worries about that
面白い部分があること私はこのような権利この後、別の行を追加した場合:
$q = mysql_query("SELECT NOW() as now");
$row = mysql_fetch_array($row);
echo $row["now"];
実行した後そのコードは、時間が正しく表示されます。
しかし、いくつかの他のクエリでは、CURRENT_TIMESTAMPにデフォルト設定されているdateという名前の列を持つテーブルに行を挿入します。
行は次のように挿入されている:
INSERT INTO `sessions` (`user_id`) VALUES `1`
しかし、DBに挿入された値がまだサーバーのタイムゾーンに戻す点(セッションテーブルがdate
カラムCURRENT_TIMESTAMPデフォルトを有しています)。 ((
この介して動作するためにどのように任意のアイデア?
DBに挿入された値をサーバーのタイムゾーンに戻すと、どうやって確認できますか?また、 'SET SESSION time_zone'トリックを行ったところで接続しましたか? – Romain
'INSERT'を実行する前に接続を閉じていますか? – ManseUK
phpMyAdminでチェックしていますが、スクリプトの実行が終了するまでに接続が閉じられていません –