Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Time Zone SQL+PHP
15-02-2012, 23:09 (Esta mensagem foi modificada pela última vez a: 15-02-2012 23:11 por Droids.)
Mensagem: #1
Time Zone SQL+PHP
Olá Malta!

Estou aqui com um problema e preciso da vossa ajuda!

É o seguinte, o meu site está alojado nos EUA.
Quando faço uma Query à BD e uso a função now() (SQL) fica com a hora dos EUA. E eu queria definir no PHP que a hora do era por exemplo de Portugal.

Sei que existe date_add(now(), INTERVAL VALOR UNIDADE), mas queria evitar usa-la.

Para funções de data do PHP defino previamente num ficheiro date_default_timezone_set("Europe/Lisbon"). O que queria era fazer algo do género do set timezone do PHP mas para a BD.

OBS: BD em MySQL.

Desde já obrigado!

Amigos, amigos, senhas à parte!
[Imagem: android.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
15-02-2012, 23:17
Mensagem: #2
RE: Time Zone SQL+PHP
Olá Droids,

A forma mais fácil será, no momento da ligação à BD (depois do mysql_connect()), fazer um "SET time_zone = 'Europe/Lisbon';".

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
15-02-2012, 23:22
Mensagem: #3
RE: Time Zone SQL+PHP
Olá Bruno. Por acaso já tinha visto essa solução.
Mas como aplico?

Amigos, amigos, senhas à parte!
[Imagem: android.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
16-02-2012, 19:36
Mensagem: #4
RE: Time Zone SQL+PHP
Viva Droids,

Aplicas tal e qual como o Bruno disse.

Acedes à base de dados e onde escreves os selects para retornar os valores das tabelas escreves o SET time_zone = 'Europe/Lisbon';

Cumps,
Manuel Rocha

[Imagem: pplware_staff.png]
Licenciado em Informática para a Saúde pela ESTG Leiria
Mestrado em Informática - Especialização em Sistemas de Informação na Universidade Portucalense
Especialização em Design Gráfico
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
16-02-2012, 19:49 (Esta mensagem foi modificada pela última vez a: 16-02-2012 19:50 por Bruno Bernardino.)
Mensagem: #5
RE: Time Zone SQL+PHP
Peço desculpa, não tinha subscrito o tópico.

Exactamente como o Manuel disse, fazes uma query. Aconselho a fazê-la logo a seguir à ligação (se tiveres um sistema bem feito — a trabalhar com utf-8 em vez de iso-8859-1 —, hás-de ter normalmente um "SET NAMES 'utf8'" ou algo do género logo a seguir à ligação).

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
16-02-2012, 23:00 (Esta mensagem foi modificada pela última vez a: 16-02-2012 23:01 por Droids.)
Mensagem: #6
RE: Time Zone SQL+PHP
Boas malta! Desde já agradeço por me ajudarem neste problema.

Tentei fazer o que o Bruno e rei007 me indicaram mas não funciona.
Vou postar o que tenho no código:

Código PHP:
$host 'localhost';
$user 'root';
$pass '';
$bd 'utf8_teste';

$link=mysql_connect($host,$user,$pass) or die ( 'ERRO!' );
mysql_query("SET time_zone = 'Europe/Lisbon';");

//Mostar o TimeZone da BD
$resultadomysql_fetch_row(mysql_query("SHOW VARIABLES LIKE  'time_zone'"));
echo 
$resultado[1];//Resultado: SYSTEM 

Alguma ideia porque não funciona?

OBS: Se a query for
Código PHP:
SET time_zone '+5:00'
funciona!

Amigos, amigos, senhas à parte!
[Imagem: android.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
19-02-2012, 22:36
Mensagem: #7
RE: Time Zone SQL+PHP
Boas,
Eu costumo definir no php desta forma:

date_default_timezone_set('Europe/Lisbon');

antes da query.

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original" - Albert Einstein
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
20-02-2012, 14:55
Mensagem: #8
RE: Time Zone SQL+PHP
Deverá depender da versão, talvez, ou da configuração. Tenta 'GMT' Em vez de 'Europe/Lisbon'.

@Miguel Guerra, isso funciona para o PHP, não para o MySQL, que é o que o Droids quer.

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
23-02-2012, 23:35
Mensagem: #9
RE: Time Zone SQL+PHP
Olá Malta,

Obrigado pelas respostas e desculpem este pequeno "desaparecimento". Smile
Bruno testei isso na minha máquina, mas não funciona.
Vou testar assim que possível no servidor e depois comunico o resultado.

CUMPS

Amigos, amigos, senhas à parte!
[Imagem: android.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 2 Visitante(s)