Vous partez faire des erreurs avec PHP, 100% garanti. PHP est procédural. Ce que vous voulez, ce sont des contraintes déclaratives. Vous voulez dire à l'ensemble de la pile :"Ce sont les contraintes sur les données, et ces contraintes ne peuvent pas être violées." Vous ne voulez pas faire grand-chose avec "Étape 1 ... Étape 2 ... Étape 3 ... Étape 432 ...", comme méthode d'application des contraintes sur les données, car
- vous allez vous tromper
- lorsque vous le changerez plus tard, vous oublierez ce que vous avez fait maintenant
- Personne d'autre ne connaîtra toutes ces contraintes implicites comme vous les connaissez maintenant, et cela inclut votre futur moi
- il faut beaucoup de code pour appliquer les contraintes correctement et tout le temps - le serveur de base de données a déjà ce code, mais êtes-vous prêt à l'écrire ?
La question devrait en fait être formulée :"Pourquoi devrais-je utiliser PHP pour appliquer ces contraintes, alors que je pourrais le faire avec MySQL ?"