Hoi,

Ergens heb ik een foutje in de syntax of gewoon een denkfout dan wel zie ik iets over het hoofd. In ieder geval na een paar dagen er mee rond lopen en experimenter wil ik graag jullie advies.

In de tabel toer is `startdatumtijd` een DATETIME en `inschrijventot` is VACHAR waar een integer instaat. Het doel is dat iemand een mailtje krijgt als de toer over `inschrijventot` uren begint. Mocht de toer in het verleden zijn wil ik geen mailtje meer.

code:

$query="SELECT `toer`.* , `mens`.`email`, `mens`.`ossanaam` FROM `toer`, `mens` 
			WHERE 
			(`toer`.`startdatumtijd` BETWEEN (NOW() - INTERVAL `toer`.`inschrijventot` HOUR) AND NOW())
			AND `toer`.`trekker` = `mens`.`idmens`
			AND `toer`.`gemaild` IS NULL
			LIMIT 1"; 

De query geeft geen foutmelding maar ook geen resultaat.

Een INTERVAL moet volgens mij altijd een integer zijn, het gaat waarschijnlijk fout omdat die kolom van het type VARCHAR is. Maak daar gewoon eens een INT van?
Bedankt voor je antwoord, dat is indererdaad logieser maar het heeft niet geholpen.

Maar goed, kennelijk is de syntax wel goed, ga op een rustiger tijdstip nog eens naar het hele script kijken.
 (NOW() BETWEEN (DATE_ADD(`toer`.`startdatumtijd`, INTERVAL - `toer`.`inschrijventot` HOUR )) AND `toer`.`startdatumtijd`)
 


Blind zitten staren op de syntax, het was dus toch gewoon de logika

Reageren