php/mysql : Cannot add or update a child row -


i have database named "project_beta" contains following tables: offre, categorieoffre , fournisseur.

-fournisseur (idfournisseur, nomfournisseur) -offre (idoffre, nomoffre, #idfournisseur, #idcatoffre) -categorie_offre (idcatoffre, nomcatoffre, #idoffre); 

when

insert offre values ('','".$nomoffre."','".$idfournisseur."','"idcatoffre"')  

it displays error:

cannot add or update child row: foreign key constraint fails (project_beta.offre, constraint offre_ibfk_4 foreign key (idcatoffre) references categorie_offre (idcatoffre)).

how can fix it?

i see several strange things.

  • you inserting empty value in idoffre field. that's mighty strange value id. expect id automatically generated database , shouldn't insert there.
  • for fourth field leave text mode don't use concatenation.
  • i advise agains starting name of variables #. further on you're not using character anymore.
  • inside double quotes php replaces variables don't have concatenate
  • i expect #idfournisseur , #idcatoffre numbers too, value shouldn't single quoted in insert statement.

also make sure whatever value use #idfournisseur , #idcatoffre values should preexist in related tables.

just wild guess... shouldn't this

$query = "insert offre(nomoffre, idfournisseur, idcatoffre) values ($nomoffre,$idfournisseur,$idcatoffre)"; 

Comments