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
Jurgen schreef op 17.11.2006 10:30
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().
Nou heb ik nog een vraag.. ik wil selecteren op 2 dingen. Namelijk datum en check.

dit is de oorspronkelijke query

<?php
$query = "SELECT
*
FROM
reserveringen
WHERE
DATE(begintijd) = CURDATE()
ORDER BY eindtijd ASC ";
?>

moet zoiets worden als

<?php

$query = "SELECT
*
FROM
reserveringen
WHERE
DATE(begintijd) = CURDATE()
AND
check=1
ORDER BY eindtijd ASC ";

?>

Dit schijnt echt echter niet te werken.

als ik bijv doe AND naam='jurgen' werkt het wel maar met integers niet..
Dit schijnt echt echter niet te werken.
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.

Zie ook http://dev.mysql.com/doc/refman/4.1/en/reserved-words.html
Ik weet dat MYSQL gereserveerde woorden heeft als where etc maar check wist ik niet. :) nouja bedankt heb ik er ook weerr van geleerd :)

Reageren