Comment définir correctement mysql fuseau horaire

J'ai un problème bizarre concernant mysql fuseau horaire.

Dans mon site fichier de config, j'ai cette ligne qui définit le fuseau horaire :

mysql_query("SET SESSION time_zone = '$offset';"); //Offset is properly calculated, no worries about that

Le plus drôle, c'est que si j'ajoute une autre ligne droite après cela, comme ceci :

$q = mysql_query("SELECT NOW() as now");
$row = mysql_fetch_array($row);
echo $row["now"];

Après l'exécution de ce code, l'heure est affichée correctement.

MAIS, dans certains autres questions que je insérer des lignes dans les tables qui ont une colonne nommée date par défaut CURRENT_TIMESTAMP.

De l'insertion de lignes comme ceci:

INSERT INTO `sessions` (`user_id`) VALUES `1`

(La table des sessions a un date colonne par défaut CURRENT_TIMESTAMP)

Mais la valeur insérée dans la bd encore des points pour le fuseau horaire du serveur :((

Toute idées sur la façon de travailler par le biais de ce ?

Quand vous dites que les valeurs insérées dans DB pointent vers le serveur de fuseau horaire, comment voulez-vous vérifier? Aussi bien que d'une connexion où vous avez SET SESSION time_zone truc?
êtes-vous de la fermeture de la connexion avant de lancer le INSERT ?
Je suis le vérifier sur phpMyAdmin, et non, la connexion n'est pas fermée jusqu'à la fin de l'exécution du script
aucune idée de si phpMyAdmin peut-être une conversion en arrière lors de l'affichage ?

OriginalL'auteur Dany Khalife | 2011-12-08