datum in php en mysql
Timor bos
29/01/2006 21:17:00Hoi,
ik heb in mysql deze query:
INSERT INTO test
(datum)
VALUES
(NOW())
die zet netjes de datum '2006-01-29' in de datum kolom van test.
Nu wil ik in php zoiets uitvoeren:
$sql=mysql_query("SELECT id FROM test WHERE datum = NOW()");
waarom werkt dit niet? Kan nergens vinden wat in php de juiste syntax is voor de huidige datum die hem op deze manier leest: '2006-01-29'
ik heb in mysql deze query:
INSERT INTO test
(datum)
VALUES
(NOW())
die zet netjes de datum '2006-01-29' in de datum kolom van test.
Nu wil ik in php zoiets uitvoeren:
$sql=mysql_query("SELECT id FROM test WHERE datum = NOW()");
waarom werkt dit niet? Kan nergens vinden wat in php de juiste syntax is voor de huidige datum die hem op deze manier leest: '2006-01-29'
PHP hulp
24/11/2024 03:55:14Timor bos
29/01/2006 21:31:00heb nou dit:
$datum = date("d-m-Y");
$sql=mysql_query("SELECT id FROM test WHERE datum = ". $datum);
dan geeft hij juist alle id's weer behalve de id's die bij de datum van vandaag horen :S
$datum = date("d-m-Y");
$sql=mysql_query("SELECT id FROM test WHERE datum = ". $datum);
dan geeft hij juist alle id's weer behalve de id's die bij de datum van vandaag horen :S
EdwinG
29/01/2006 21:49:00Gezien de syntax die je zelf in post 1 geeft, (2006-01-29), heb je $datum precies verkeerd om.
Code (php)
1
2
3
4
2
3
4
<?php
$datum = date("Y-M-D");
$sql = "SELECT id FROM test WHERE datum = '".$datum."';";
$tmp = mysql_query($sql);
$datum = date("Y-M-D");
$sql = "SELECT id FROM test WHERE datum = '".$datum."';";
$tmp = mysql_query($sql);
Jan Koehoorn
29/01/2006 21:55:00Je moet goed het verschil weten tussen NOW() en CURRENT_DATE() in MySQL. Jouw veld 'datum' is van het type DATE.
NOW() geeft yyyy-mm-dd uu:mm:ss
Als je een datumveld dus vult met NOW() kapt MySQL "keurig" het tijd deel er af.
Maar zodra je later gaat vergelijken:
WHERE datum = NOW()
gaat het fout.
Daar zou je:
WHERE datum = CURRENT_DATE()
moeten doen (eigenlijk bij de insert al)
NOW() geeft yyyy-mm-dd uu:mm:ss
Als je een datumveld dus vult met NOW() kapt MySQL "keurig" het tijd deel er af.
Maar zodra je later gaat vergelijken:
WHERE datum = NOW()
gaat het fout.
Daar zou je:
WHERE datum = CURRENT_DATE()
moeten doen (eigenlijk bij de insert al)