Ik heb een query en daarbij wil ik records weergeven waar het vandaag is. Dit is geen probleem bij een date field. Maar bij een date/time field krijg ik het niet aan de praat :S
mijn query:
<?php
"SELECT * FROM reserveringen WHERE DATE_FORMAT(begintijd, '%Y-%m-%d') = CURDATE ";
De functie DATE_FORMAT() slaat nergens op, er valt niets op te maken, en bij de functie CURDATE ontbreken de haakjes (). Wanneer jij keurig had gecontroleerd of de query was gelukt, had je hier ook al lang een error op gekregen. Foutafhandeling is de basis van ieder goed systeem en mag dus nooit ontbreken.
<?php
$query = "
SELECT
*
FROM
reserveringen
WHERE
DATE(begintijd) = CURDATE()
";
?>
Ok dit werkt. Hartelijk bedankt. en overigens was ik de haakjes niet vergeten in de oorspronkelijke query. Ik khad hem hier zo uit mijn hoofd getypt
Tja, daarom dus altijd copy/paste gebruiken! Voor je het weet heb je een verschil tussen de code die een probleem oplevert en de code die je in het topic zet. Het kan dan zelfs zo zijn dat de code in het topic helemaal geen fout bevat en geen mens snapt waar jij het over hebt. Kortom, gebruik copy/paste en geef ook even de foutmelding, nadat je deze hebt opgevraagd met mysql_error().
En wie heeft jou dat verteld? De integer is geen enkel probleem. Wat wél een probleem is, is dat jij gereserveerde woorden als kolomnaam gebruikt. Daar krijg je gegarandeerd een foutmelding op. Waar is deze foutmelding eigenlijk? Waarom zet je die niet in dit topic? Dat maakt het geven van hulp een stuk eenvoudiger en je kunt zelf ook sneller debuggen.
Oplossing: Foutafhandeling inbouwen en de kolomnaam aanpassen.