Mam dziwny problem dotyczący strefy czasowej mysql.Jak poprawnie ustawić strefę czasową mysql
W mojej stronie pliku konfiguracyjnym mam tę linię, która wyznacza strefę czasową:
mysql_query("SET SESSION time_zone = '$offset';"); // Offset is properly calculated, no worries about that
Najśmieszniejsze jest to, że jeśli dodać kolejną linię tuż po tym jak ten:
$q = mysql_query("SELECT NOW() as now");
$row = mysql_fetch_array($row);
echo $row["now"];
Po wykonaniu ten kod, czas jest wyświetlany poprawnie.
BUT, w niektórych innych zapytaniach wstawiam wiersze do tabel, które mają kolumnę o nazwie date, która domyślnie przyjmuje wartość CURRENT_TIMESTAMP.
Wiersze są wstawiane tak:
INSERT INTO `sessions` (`user_id`) VALUES `1`
(tabela Sesje ma date
kolumny, który domyślnie CURRENT_TIMESTAMP)
Jednak wartość włożony w DB nadal wskazuje z powrotem do strefy czasowej serwera: ((
Wszelkie pomysły jak pracować przez to?
Kiedy mówisz, że wartości wstawione w DB wskazują na strefę czasową serwera, w jaki sposób sprawdzasz? Również przez połączenie, w którym wykonałeś sztuczkę 'SET SESSION time_zone'? – Romain
czy zamykasz połączenie przed uruchomieniem 'INSERT'? – ManseUK
Sprawdzam to na phpMyAdminie, a połączenie nope nie jest zamknięte do końca wykonywania skryptu –