Bonjour à tous.
J'ai vu le post de aboura86 et j'ai cru que ça aurait pu m'aider, mais nous n'avons pas exactement le même problème.
Pour ma part, j'ai aussi deux tables liées. Quand je veux rajouter une entrée dans la seconde (tabinscriptions), il faut que je dispose de la clé étrangère. Cette clé n'étant autre que la clé primaire de la première table (tabindividus).
Je lance une requête pour retrouver cette clé. Et je la stocke dans une variable:
1 2 3
| $querynum=mysql_query("SELECT IDindividu FROM tabindividus where Nom='$nom' and Prenom='$prenom'") or die('echec récupération du numero de l individu');
//Sauvegarde du résultat de la requête dans une variable en vue du prochain affichage
$numindividu=mysql_fetch_array($querynum); |
.
Je coince au moment de l'insertion de l'entrée dans la seconde table.
mysql_query("INSERT INTO tabinscriptions VALUES('', '0', '0', '0', '0', '0', '0', '0','0','0','$numindividu['IDindividu']')") or die(mysql_error());
Le message d'erreur annoncé quand je génère la page est:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\traitement_formulaire.php on line 70
Comment dois-je passer le dernier paramètre de l'insertion?
Quand je spécifie directement la valeur de la clé:
mysql_query("INSERT INTO tabinscriptions VALUES('', '0', '0', '0', '0', '0', '0', '0','0','0','000000021')") or die(mysql_error());
, j'obtiens ceci:
Cannot add or update a child row: a foreign key constraint fails (`bd/tabinscriptions`, CONSTRAINT `tabinscriptions_ibfk_1` FOREIGN KEY (`IDindividu`) REFERENCES `tabindividus` (`IDindividu`) ON DELETE CASCADE ON UPDATE CASCADE)
Partager