datum + tijd toevoegen in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Luuk Schouten

Luuk Schouten

03/03/2009 19:25:00
Quote Anchor link
Hallo,
Ik wist niet zeker of ik mijn probleem onder sql of php moest plaatsen. Php leek mij toch het beste.

Ik heb in mijn database een kolom datum_tijd. Deze heeft als type datetime.
Nu wil ik dat een query in mijn php bestand de huidige datum + tijd toevoegd in mijn database.

Query:
$setbod="INSERT INTO tblBod (voorwerpnummer, bodbedrag, gebruikersnaam, datum_tijd)
VALUES ($var,'".$_POST['bod']."','Piet', ????? )";

Ik heb al van alles geprobeert met datetime, now, getdate etc.
Wie helpt mij aan een goeie functie in deze query?
Het formaat moet zo zijn in de db: DD-MM-YYYY HH:MM:SS

Alvast bedankt!
 
PHP hulp

PHP hulp

21/11/2024 21:02:27
 
Frank -

Frank -

03/03/2009 19:28:00
Quote Anchor link
Quote:
Het formaat moet zo zijn in de db: DD-MM-YYYY HH:MM:SS

Foutje, dat MOET !!! zijn YYYY-MM-DD HH:MM:SS, dus eerst het jaartal, dan de maand en dan pas de dag. Dat is wat een DATE of DATETIME eist. Heb je een ander datatype gebruikt, dan houdt het op, dan is er géén sprake van een datum en/of tijd. Dat noemen we dan ook wel een bug.

NOW() is de oplossing van jouw probleem, mits je een DATETIME gebruikt.

Ps. Aangenomen dat je MySQL gebruikt, in PostgreSQL en andere databases van hoog niveau gebruik je een TIMESTAMP. Een TIMESTAMP in MySQL bestaat ook, maar dat is een brok ellende om U tegen te zeggen.
 
Luuk Schouten

Luuk Schouten

03/03/2009 19:34:00
Quote Anchor link
Oke ik gebruik dus mssql.

Ik snap niet hoe ik precies die NOW() moet gebruiken. Kunt u dit plaatsen in deze query op de plaats van de ????? ?

$setbod="INSERT INTO tblBod (voorwerpnummer, bodbedrag, gebruikersnaam, datum_tijd)
VALUES ($var,'".$_POST['bod']."','Piet', ????? )";

Bedankt voor de snelle reactie!
 
Timen kut

Timen kut

03/03/2009 19:41:00
Quote Anchor link
???? vervangen voor NOW() dus
 
Luuk Schouten

Luuk Schouten

03/03/2009 19:44:00
Quote Anchor link
Ja helaas dat werkt niet.

Query die ik gebruik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if ($_POST['actie']=='insert') {
$setbod="INSERT INTO tblBod (voorwerpnummer, bodbedrag, gebruikersnaam, datum_tijd)
VALUES ($var,'".$_POST['bod']."','Piet', NOW() )";

mssql_query($setbod) or die(mssql_error());
                }


in de query plaats ik gewoon NOW(). nu krijg ik alleen de foutmelding: Warning: mssql_query() [function.mssql-query]: message: 'NOW' is not a recognized built-in function name.

Hoe los ik dat op?
Gewijzigd op 01/01/1970 01:00:00 door Luuk Schouten
 
Frank -

Frank -

03/03/2009 19:47:00
Quote Anchor link
SQL Server? Zeg dat dan, dan heb je een TIMESTAMP nodig als datatype (zie je datamodel) en CURRENT_TIMESTAMP om de huidige datumtijdstempel op te vragen.

RTFM
 
Luuk Schouten

Luuk Schouten

03/03/2009 19:50:00
Quote Anchor link
Bedankt! het werkt met CURRENT_TIMESTAMP.
 
Frank -

Frank -

03/03/2009 19:56:00
Quote Anchor link
Voortaan direct even zeggen welke database het betreft, dat scheelt.

80% van de bezoekers hier op PHPhulp gebruiken het überbrakke MySQL, vandaar dat ik daar eerst een oplossing voor gaf.
 
Luuk Schouten

Luuk Schouten

03/03/2009 20:00:00
Quote Anchor link
Oke ja u heeft gelijk, normaal zet ik het erbij maar ik ben het deze keer inderdaad vergeten. Bedankt voor de hulp in elk geval ;)
 
Frank -

Frank -

03/03/2009 20:05:00
Quote Anchor link
Maak van dat "u" maar snel een "je" of "jij", is goed genoeg voor mij.

;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.