Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.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
mysqli设置时区意外';时区';在php中_Php_Mysql_Mysqli - Fatal编程技术网

mysqli设置时区意外';时区';在php中

mysqli设置时区意外';时区';在php中,php,mysql,mysqli,Php,Mysql,Mysqli,我想同步php日期和mysql日期。 我没有根权限,所以我希望每个连接都这样做 我试过: $mysqli_lk = new mysqli($hostname, $user, $pass, $bd); //ok $mysqli_lk->set_charset("utf8"); //ok $mysqli_lk->SET_timezone = ('America/Los_Angeles'); // not working date_default_timezone_set('Americ

我想同步php日期和mysql日期。 我没有根权限,所以我希望每个连接都这样做

我试过:

$mysqli_lk = new mysqli($hostname, $user, $pass, $bd); //ok
$mysqli_lk->set_charset("utf8"); //ok
$mysqli_lk->SET_timezone = ('America/Los_Angeles'); // not working

date_default_timezone_set('America/Los_Angeles'); //ok

我怎样才能解决这个问题呢?

我认为这是最好的办法

date_default_timezone_set('America/Los_Angeles');

$now = new DateTime();
$mins = $now->getOffset() / 60;
$sgn = ($mins < 0 ? -1 : 1);
$mins = abs($mins);
$hrs = floor($mins / 60);
$mins -= $hrs * 60;
$offset = sprintf('%+d:%02d', $hrs*$sgn, $mins);

$stmt = $mysqli_lk->prepare("SET time_zone='$offset';");
$stmt->execute();
$stmt->close();
date\u default\u timezone\u set('America/Los\u Angeles');
$now=新日期时间();
$mins=$now->getOffset()/60;
$sgn=($mins<0?-1:1);
$mins=绝对值($mins);
$hrs=楼层(分钟/60美元);
$mins-=$hrs*60;
$offset=sprintf('%+d:%02d',$hrs*$sgn,$min);
$stmt=$mysqli_lk->prepare(“设置时区=“$offset”;”);
$stmt->execute();
$stmt->close();

这样试试$mysqli_lk->query(“设置时区='GMT'”)@尼姆斯派特尔:它什么也不做。mysql中的时间仍然与我现在插入()的时间相同。