Hallo,

Ik heb een script waarbij ik begintijd, eindtijd en totaaltijd kan opgeven voor een bepaalde opdracht. het ziet er zo uit:

$date = date('Y-m-d', $_POST['mondate']);
$timestart = $_POST['monstart'];
$timestart .= ":00";
$timeend = $_POST['monend'];
$timeend .= ":00";
$timetotal = $_POST['montotal'];
$timetotal .= ":00";						
mysql_query("INSERT INTO worked (week, date, starttime, endtime, worktotal, projectid, tarief) VALUES (".$_POST[weeknr].", $date, $timestart, $timeend, $timetotal, ".$_POST[project].", ".$_POST[montarief].")") or die(mysql_error());
echo "$_POST[weeknr], $date, $timestart, $timeend, $timetotal, ".$_POST[project].", ".$_POST[montarief];


De postvariabelen kloppen, als ik de query namelijk 'comment' dan komen ze op mijn scherm (laatste echo). Voorbeeld wat ik dan geparsed krijg: 24, 2012-06-11, 09:00:00, 12:00:00, 02:00:00, 1, 12

Nu heb ik al gegoogled naar de juiste datum-formaten voor mysql, maar Y-m-d voor data en HH:mm:ss voor tijden klopt volgens the interwebs.

Als ik de query echter uitvoer krijg ik de volgende error:
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, 12:00:00, 02:00:00, 1, 12)' at line 1


Hij geeft dus aan dat hij vlak na "$timestart" een error heeft in de syntax. De velden date, starttime, endtime en worktotal zijn respectievelijk ingesteld op type DATE en de andere drie TIME.

Ziet iemand misschien wat ik hier verkeerd doe?

Hartelijke groet,

Jarro
Ken je query aan een variabele toe en echo die eens naar het scherm.

Schrijf je query uit over meerdere regels. Ten eerste is het overzichtelijker en ten tweede is je foutmelding doorgaans wat nauwkeuriger.

Wat betreft je echo --> variabelen buiten quotes.
In php is het doorgaans overigens handiger om ' te gebruiken van een echo (en in HTML ")


Misschien dat je in http://www.pfz.nl/forum/topic/7802-datum-en-tijdstippen-in-mysql-syntax/ nog wat tips vindt.
Datum en tijd moet je invoeren als een string, dus in je query moeten de waardes tussen quotes staan. Die quotes missen in je query.

Reageren