Enregistrement dans la BD MySql

Kentalor2016 - Modifié par BunoCS le 23/03/2016 à 11:14
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 - 23 mars 2016 à 11:15
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.

1 réponse

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
23 mars 2016 à 11:15
Hello,

J'ai édité ton message. Voir encadré ci-dessus pour plus de détails.
0
Rejoignez-nous