Hallo,

Bij zowel het aanmelden als een update plaatsen in een nieuwsoverzicht wordt de tijd om 14:26 (zoiets zal t zijn geweest) gezet als: 2015-02-06 08:31:22
De datum klopt wel maar de tijd geheel niet.

Hoe kan dit?

Stukje script:
("INSERT INTO updates (titel, bericht, datum) VALUES ('".mysql_real_escape_string($_POST['titel'])."', '".mysql_real_escape_string($_POST['bericht'])."', NOW())") or die (mysql_error());


stukje uit phpmyadmin:
`datum` datetime NOT NULL default '0000-00-00 00:00:00',

Ziet iemand de fout?
Bij voorbaat dank
Hij blijft geldig gedurende je hele connectie. Start je niet opeens een nieuwe?
Want dan zit je weer op de systeem-timezone van Amerika
Het enige wat ik deed was: F5 -> nieuw bericht plaatsen -> naar pagina van het bericht kijken
Voer je deze wel uit als query op je site? Hij moet na het starten van je mysql(i)_connect() wel uitgevoerd worden natuurlijk.
daar bedoel je deze mee?

<?
date_default_timezone_set("Europe/Amsterdam");
?>
Dat is voor PHP, niet voor MySQL.
hm iets geks gevonden.
Gewoon een echo op de site:
6 February 2015, 15:38:08

<?php
date_default_timezone_set("Europe/Amsterdam");
?>
<?php
echo date("j F Y, H:i:s");
?>

Maar in het script van een bericht plaatsen werkt hij niet
Omdat dat ook MySQL is, en die haalt zijn timezone niet uit PHP.
Voer
set time_zone = '+7:00';
uit in je SQL query NA je connection.
met die echo laat je door php een datum gebruiken.

Als je NOW() gebruikt in een query, zeg je tegen de database server (wat niet noodzakelijk dezelfde machine is) "gebruik de huidige tijd van de aangegeven tijdzone".

Wat je vooraf allemaal tegen de php-servert hebt gezegd, weet je database server niet.
Tijd(szone) in PHP !== tijd(szone) in MySQL.

Houd een van de twee aan (ofwel PHP, ofwel MySQL) en stel deze vantevoren goed in.

Dat lijkt mij het makkelijkste.
Hoe kan ik hem in php instellen en zorgen dat hij goed weergeven word bij bijv datum van registratie en laatst online en als je een bericht plaatst?

Reageren