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!
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';".
Olá Bruno. Por acaso já tinha visto essa solução.
Mas como aplico?
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';
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).
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
$resultado= mysql_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
funciona!
Boas,
Eu costumo definir no php desta forma:
date_default_timezone_set('Europe/Lisbon');
antes da query.
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.
Olá Malta,
Obrigado pelas respostas e desculpem este pequeno "desaparecimento".
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