Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更改日期I'的时区;我正在插入我的数据库?_Php_Mysql_Timestamp - Fatal编程技术网

Php 如何更改日期I'的时区;我正在插入我的数据库?

Php 如何更改日期I'的时区;我正在插入我的数据库?,php,mysql,timestamp,Php,Mysql,Timestamp,当我在数据库中插入一个时间戳时,它的值大约是本地时间的10小时。数据库托管在Godaddy的服务器上 我已更改了php5.ini文件,并添加了date.timezone='Europe/伊斯坦布尔' (默认为america/phoenix)当我使用phpinfo()进行检查时 然后我运行了以下代码: if (date_default_timezone_get()) { echo 'date_default_timezone: '. date_default_timezone_get()

当我在数据库中插入一个时间戳时,它的值大约是本地时间的10小时。数据库托管在Godaddy的服务器上

我已更改了php5.ini文件,并添加了
date.timezone='Europe/伊斯坦布尔'

(默认为america/phoenix)当我使用
phpinfo()进行检查时

然后我运行了以下代码:

if (date_default_timezone_get()) {
    echo 'date_default_timezone: '. date_default_timezone_get() .'<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone: ' . ini_get('date.timezone');
    echo date("d/m/y : H:i:s", time()); 
}
这是我的MySql表

CREATE TABLE `cepbank` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(11) collate utf8_turkish_ci NOT NULL,
  `trans_id` int(11) NOT NULL,
  `bank` varchar(11) collate utf8_turkish_ci NOT NULL,
  `tutar` decimal(10,2) NOT NULL,
  `operator` varchar(32) collate utf8_turkish_ci NOT NULL,
  `tarih` timestamp NOT NULL default CURRENT_TIMESTAMP,
 PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci COMMENT='CepBank Gelen' AUTO_INCREMENT=143 ;

之所以发生这种情况,是因为您对tarih字段使用了
默认的当前\u时间戳。并且它使用未调整的服务器日期。在php中获取调整后的时间戳:

$timestamp = date('Y-m-d H:i:s', time ());
然后将其添加到查询中:

INSERT INTO cepbank 
    (tarih, username, trans_id, bank, tutar, operator)
VALUES 
    ('$timestamp','$username', '$trans_id', '$bank', '$tutar', '$operator'

@PcRestorer在执行插入和退出脚本之前是否可以打印$timestamp?它的价值是多少?像这样的1368809605something@PcRestorer很抱歉,在插入时间戳之前,您需要将其转换为MySQL格式。尝试新代码。非常感谢您(大师=)
INSERT INTO cepbank 
    (tarih, username, trans_id, bank, tutar, operator)
VALUES 
    ('$timestamp','$username', '$trans_id', '$bank', '$tutar', '$operator'