Hallo,

Ik heb een probleem.
Ik heb een script waarbij ik standen uit de database moet halen uit een bepaalde "range".

Het gaat dan per maand.

Bijv.
van 2006-01-01 tot 2006-02-01 moeten er rows worden opgehaald en daar word dan een gemiddelde van berekend.

Ik heb in de database de tijden opgeslagen in DATETIME.

en ik gebruik zelf de query:
"SELECT AVG(stand) as avg_jan FROM standen WHERE tijd between '$year-01-01' and $year-02-01";


Als ik de WHERE clause weghaal dan krijg ik wel een gemiddelde (alleen die wil ik niet).

Heeft iemand een idee ?
'$year-02-01' staat niet tussen quotes. Dat zou nog wel eens een probleem kunnen geven...
Als ik dat doe dan krijg ik

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '´2000-01-01´ and ´2000-02-01´' at line 1

Query:
SELECT AVG(stand) as avg_jan FROM standen WHERE tijd between ´2000-01-01´ and ´2000-02-01´


Als ik alle quotes weglaat dan krijg ik hetzelfde resultaat als in het begin :'(
is uw veld geen datetime
want als dat zo is moet u, geloof ik, '2000-01-01 00:00:00' and '2000-02-01 00:00:00' eens proberen

ben geen pro maar bij mij werkt het zo
zelf zou ik het zo doen
$van =$year."-01-01";
$tot=$year."-02-01";

$sql="SELECT AVG(stand) as avg_jan FROM standen WHERE tijd BETWEEN $van AND $tot";

echo $sql; (ff kijken wat je de DB precies vraagt.)

$res=mysql_query($sql);
Hallo Klaasjan,

Is het dan met of zonder quotes ?

zonder quotes krijg ik de melding
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00:00:00 and 2000-02-01 00:00:00' at line 1
SELECT AVG(stand) as avg_jan FROM standen WHERE tijd between 2000-01-01 00:00:00 and 2000-02-01 00:00:00
Ik gebruik zelf dit stukje code in een van mijn scripts
SELECT * FROM $table WHERE datum BETWEEN $mavan AND $matot;

en dat werkt prima zonder de ''
Probeer het nog eens zonder de tijd( dus alleen YYYY-MM-DD) als je wilt en in wat voor VELD is je data in de tabel opgeslagen?

Reageren