hallo ik heb deze code om gegevens in mijn db te stoppen. maar ik krijg steeds de volgend emelding. Kan iemand mijn vertellen wat ik verkeerd doe?

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 'int-site ( msg_int_id, msg_date, msg_time, msg_tit' at line 1

<?php

if($_SERVER['REQUEST_METHOD'] == "POST")
{
$query ="INSERT INTO int-site
(
msg_int_id,
msg_date,
msg_time,
msg_title,
msg_werknemer,
msg_int_link_id,
msg_linken
)

values
(
'',
'',
'',
'". $_POST['msg_title']. "',
'". $_POST['msg_werknemer']. "',
'". $_POST['msg_int_link_id']. "',
'". $_POST['msg_linken']. "'
)";
$result_int_site = mysql_query($query) or die(mysql_error());
}



?>
Gebruik geen - in de naam van je tabel, MySQL leest jouw query als 'insert into int 'minus' site (...)'.

Aangezien dat niet klopt, gaat mysql daar de fout in. Maak van dat - dus bijvoorbeeld een _.
pffff jemig daarheb ik lang naar gezocht. De melding is er nu niet meer. De eerste keer dat ik de query uit voer gaat alles goed, de 2e keer krijg ik de melding "Duplicate entry '0' for key 1"
Komt dit dan door dat er bij id niks staat ingevuld? en wat moet ik er dan wel neer zetten?
oke het is al gelukt. ik had mijn tebel niet op auto-increment staan
Neem msg_int_id en de lege waarde niet op in de query wanneer je daar een auto_increment op hebt staan. Volkomen overbodig.
naja niet volkomen onnodig, als er een standaardwaarde staat ingesteld bijv is het wel makkelijk om impliciet niks in te vullen;)
@Huib:
als er een standaardwaarde staat ingesteld
in combinatie met
wanneer je daar een auto_increment op hebt staan
Een standaard waarde voor een auto_increment? Leg dat eens uit.

Verder dwing je met jouw datamodel af of je een bepaalde waarde moet invullen of niet. Het is zinloos om lege waardes in je query op te nemen, je bereikt er niets mee. Een standaard waarde is er tenslotte niet voor niets.

Reageren