Bonjour tout le monde.
Je fais, pour la première fois, un site utilisant une base de donnée contenant des clés étrangère (Le moteur InnoDB est donc utilisé).
Supposons ce MCD que j'ai simplifié pour l'occasion :

Cela me crée deux tables (`membres` et `langues`) avec une clé étrangère id_langue dans la table `membres`.
Maintenant je crée mon site en PHP et je met une page de profil dans mon site. Le membre y choisie sa langue (dans une combobox).

Chaque langue est caractérisé par un id, qui viendra se mettre directement dans une requête SQL :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php 
$requete="UPDATE membres SET id_langue=$_POST['langue'] WHERE id_membre=$_POST['id_membre']";
?>
Jusque là tout va bien. Supposons maintenant qu'un membre crée une page HTML ayant la même structure que ma page profil. Il changerait l'ID de la langue transmis, par un autre truc à lui. Faisons simple, supposons qu'il mette un ID qui ne figure pas dans la liste des ID de la table `langue`. MySQL ne va surement pas accepter la requête, et aucune modification ne sera faite, mais comment puis-je faire savoir à l'utilisateur que l'ID choisie ne se trouve pas dans la table? Dois-je vérifier en faisant une requête de sélection? Puis-je capter l'erreur MYSQL correspondant?
J'espère m'avoir fait comprendre.
Merci à vous.