Enregistrement dans la BD MySql

-
Bonjour à tous,
J'ai un petit problème concernant l'enregistrement des données dans ma BD.
Je suis connecté à une session et je fais deux enregistrement dans une BD et dans deux tables différents. quand je fait ceci:
<?php
 if(isset($_POST['nom']) and isset($_POST['code']) and isset($_POST['type']) and isset($_POST['nature']) and isset($_POST['cycle'])and isset($_POST['enseignement']) and isset($_POST['region']) and isset($_POST['departement']) and isset($_POST['arrondissement']) and isset($_POST['ville']) and isset($_POST['date'])){
  if(($_POST['code']!='') and ($_POST['type']!='')){
    $c = new PDO('mysql:host=localhost;dbname=gestat', 'root', '');
    $req = $c->prepare('INSERT INTO etablissement(nom_eta, Code_Eta, Type_eta, Nature_Eta, Nb_Cycle_Eta, Type_Ens_Eta, Region_Eta,  Departement_Eta, Arrondissement_Eta, Ville_Eta, Date_Eta) VALUES(:nom,
:code, :type, :nature, :cycle, :enseignement, :region, :departement, 
:arrondissement, :ville, :date)');
    $req->execute(array('nom' => $_POST['nom'],'code' => $_POST['code'],
'type' => $_POST['type'],'nature' => $_POST['nature'],'cycle' => $_POST['cycle'],'enseignement' => $_POST['enseignement'],'region' => $_POST['region'],'departement' => $_POST['departement'],'arrondissement' => $_POST['arrondissement'],'ville' => $_POST['ville'],'date' => $_POST['date']));
    echo 'L\'établissement a bien été ajouté !';
  }
}
?>

L'insertion dans la table etablissement se passe très bien. lors que je fais plutôt ceci

<?php
 if(isset($_POST['nom']) and isset($_POST['prenom']) and isset($_POST['login']) and isset($_POST['mdp']) and isset($_POST['sexe']) and isset($_POST['categorie']) and isset($_POST['nom_eta'])){
  if(($_POST['login']!='') and ($_POST['mdp']!='')){
    $c = new PDO('mysql:host=localhost;dbname=gestat', 'root', '');
    $req1 = $c->prepare('SELECT id_eta FROM etablissement WHERE nom_eta = ?');
    $req1->execute(array($_POST['nom_eta']));
    while ($donnees = $req1->fetch())
    {
      $id=$donnees['id_eta'];
    }
    $req = $c->prepare('INSERT INTO personnel(nom_pers, prenom_pers,
 login, password, Sexe_pers, Cat_pers, Id_Eta) VALUES(:nom,:prenom, :login, :password, :Sexe, :Categorie, :Id)');
    $req->execute(array('nom' => $_POST['nom'],'prenom' => $_POST['prenom'],'login' => $_POST['login'],'password' => $_POST['mdp'],
'Sexe' => $_POST['sexe'],'Categorie' => $_POST['categorie'],'Id' => $id));
    echo 'Le personnel a bien été ajouté !';
 }
}
?> 

Je reçois bien le message 'Le personnel a bien été ajouté !', mais quand je part vérifier dans la table personnel, je ne trouve rien.
SVP aidez moi à comprendre ce qui ne marche pas. Merci d'avance.

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
14294
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 décembre 2018
0
Merci
Hello,

J'ai édité ton message. Voir encadré ci-dessus pour plus de détails.
Commenter la réponse de BunoCS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.