1
我試圖在連接到我的數據庫後立即將時區更改爲「Europe/London」。這是我原來的代碼:使用「set time_zone = ...」連接到數據庫後更改時區
$pdo = new PDO('mysql:host=localhost;dbname=exampletable', 'exampleuser', 'examplepassw', array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
我把它改爲下面的代碼,但顯然這並不是更改時區,因爲我得到一個錯誤的正確方法。
$pdo = new PDO('mysql:host=localhost;dbname=exampletable', 'exampleuser', 'examplepassw', array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', 'SET time_zone = 'Europe/London''));
我怎樣才能改變從PDO開始時區?
我一個不知道怎麼做,如果有可能將其注入PDO,但'
查看https://bugs.php.net/bug.php?id=48859可能會爲您提供一些答案。正在使用'array(PDO :: MYSQL_ATTR_INIT_COMMAND =>「SET NAMES utf8; SET time_zone ='Europe/Prague'」)'所以試試看。 –
你會得到什麼錯誤?我看到了代碼的幾個潛在問題。 (a)該值需要是一個數組,(b)單引號字符串中的單引號字符串。 (c)SET time_zone可能是per statement,(d)時區名稱可能不適用於您的MySQL服務器。試一下'array(\ PDO :: MYSQL_ATTR_INIT_COMMAND => array('SET NAMES utf8','SET GLOBAL time_zone =「+01:00」'))'。 – bishop