PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 31-12-2013 11:52:39

ayoubbrs
Membre
Inscription : 31-12-2013
Messages : 6

probleme php/phpmyadmin conexion a la base

Bonjour,
les amis j'ai un petit probleme avec l'insertion de données avec php et pdo ce code ne me revois aucune erreur mais lorsque j'accède a ma base de données les champs que j'ai ajouté ne s'affiche pas dans ma base de données.

voici mon code

========================================
<html>
<head>
<body><title> inscription </title>
<form method="POST" action="inscr.php" >
numero :<input name="num" type="text"><br/>
nom :<input name="nom" type="text"><br/>
prenom :<input name="prenom" type="text"><br/>
<p>votre filiere</p>
<input type="radio" name="filiere" value="IMS" /><label>IMS</label> <br />
<input type="radio" name="filiere" value="ME" /><label>ME</label> <br />
<input type="radio" name="filiere" value="MT" /><label>MT</label> <br />
<p>votre option</p>

<select name="option">
<option value="CIM"> CIM </option>
<option value="MACRO"> MACRO </option>
<option value="MICRO"> MICRO </option>
<option value="MFE">MFE </option>
</select>
<p>votre sous_option</p>
<select name="sous_option">
<option value="ERE"> ERE </option>
<option value="AERO"> AERO </option>
<option value="ENER"> ENER </option>
<option value="VINCI">VINCI </option>
<option value="VINCI">ASS </option>
<option value="VINCI">STCM </option>
</select><br/><br/>

<input name="ok" type="submit" value="ok"><br/>
</form>

<?php
if (isset($_POST['ok'])){
/* $num=$_POST['num'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$filiere=$_POST['filiere'];
$option=$_POST['option'];
$sous_option=$_POST['sous_option']; */

try{
$bdd = new PDO('mysql:host=localhost;dbname=sousstech', 'root', '');
}catch(Exception $e) {die('Erreur :'.$e->getMessage());}

/*$bdd->exec('insert into elève (ID_Eleve, Nom_ELEVE,Prenom_ELEVE,Filiere,Option,Sous_option)
values( "'.$num.'","'.$nom.'","'.$prenom.'","'.$filiere.'","'.$option.'","'.$sous_option.'")'); */

$req = $bdd->prepare('INSERT INTO elève (ID_Eleve, Nom_ELEVE,Prenom_ELEVE,Filiere,Option,Sous_option) VALUES(?,?,?,?,?,?)');
$req->execute(array($_POST['num'],$_POST['nom'],$_POST['prenom'],$_POST['filiere'],$_POST['option'],$_POST['sous_option']));


echo 'insertion effectuer';

}
?>



</body>
</html>

===========================
le code mysql



voila le champ élève

CREATE TABLE `elève` (
  `ID_Eleve` mediumint(8) unsigned NOT NULL COMMENT 'N°etudiant',
  `Nom_ELEVE` varchar(20) collate utf8_unicode_ci NOT NULL,
  `Prenom_ELEVE` varchar(20) collate utf8_unicode_ci NOT NULL,
  `Filiere` enum('IMS','ME','MT') collate utf8_unicode_ci default NULL,
  `Option` enum('CIM','MACRO','MICRO','MFE') collate utf8_unicode_ci default NULL,
  `Sous_option` enum('ERE','AERO','ENER','VINCI','ASS','STCM') collate utf8_unicode_ci default NULL,
  PRIMARY KEY  (`ID_Eleve`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Contenu de la table `elève`
--

INSERT INTO `elève` (`ID_Eleve`, `Nom_ELEVE`, `Prenom_ELEVE`, `Filiere`, `Option`, `Sous_option`) VALUES
(9876523, 'KEZIBRI', 'Nouamane', 'ME', NULL, NULL),
(12356789, 'QACHFAR', 'Oumaima', 'IMS', NULL, NULL);







merci de me repondre

Hors ligne

#2 31-12-2013 15:37:51

ayoubbrs
Membre
Inscription : 31-12-2013
Messages : 6

Re : probleme php/phpmyadmin conexion a la base

help

Hors ligne

#3 01-01-2014 04:58:22

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : probleme php/phpmyadmin conexion a la base

Bonjour,

Je vois qu'ID élève n'est pas en auto incrément ni qu'un contrôle d'unicité par trigger n'est assuré avant insertion, vous avez donc des rejets d'insertion en perspective pour rien.

Ensuite au lieu de passer par exec, passez par query et dites nous si le problème persiste.

Bonne année wink


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 01-01-2014 10:17:43

ayoubbrs
Membre
Inscription : 31-12-2013
Messages : 6

Re : probleme php/phpmyadmin conexion a la base

merci j ai resolu le problem

voila mon nouveau code

===========================
<html>
<head>
<body><title> inscription </title>
<h1>Inscrivez-vous !</h1>
<form name="inscription" method="POST" action="inscr.php" >
numero :<input name="num" type="text" /><br/>
nom :<input name="nom" type="text" /><br/>
prenom :<input name="prenom" type="text" /><br/>
<p>votre filiere</p>
<input type="radio" name="filiere" value="IMS" /><label>IMS</label> <br />
<input type="radio" name="filiere" value="ME" /><label>ME</label> <br />
<input type="radio" name="filiere" value="MT" /><label>MT</label> <br />
<p>votre option</p>

<select name="nom_Option">
<option value="CIM">CIM</option>
<option value="MACRO">MACRO</option>
<option value="MICRO">MICRO</option>
<option value="MFE">MFE</option>
</select>
<p>votre sous_option</p>
<select name="sous_option">
<option value="ERE">ERE</option>
<option value="AERO">AERO</option>
<option value="ENER">ENER</option>
<option value="VINCI">VINCI</option>
<option value="ASS">ASS</option>
<option value="STCM">STCM</option>
</select><br/><br/>


<!--<input type="submit"  name="ok" value="OK" />        voici  l'erreur-->
<input type="submit"  name="OK" value="OK" />
</form>

<?php
if (isset($_POST['OK'])){
    $num=$_POST['num'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $filiere=$_POST['filiere'];
    $nom_Option=$_POST['nom_Option'];
    $sous_option=$_POST['sous_option']; 

   
try
{
$bdd = new PDO('mysql:host=localhost;dbname=tech', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

      //ca marche
$re='INSERT INTO eleve (`Nom_ELEVE`,`Prenom_ELEVE`, `Filiere`,`nom_Option`,`Sous_option`)
     VALUES("'.$nom.'","'.$prenom.'","'.$filiere.'","'.$nom_Option.'","'.$sous_option.'")';
echo $re;    
$bdd->exec($re);

echo '<br/>';
print_r($_POST['nom']);

                                   












}
?>

</body>
</html>

Hors ligne

#5 02-01-2014 04:28:56

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : probleme php/phpmyadmin conexion a la base

//ca marche

Sauf que cela n'est pas possible car `nom_Option` n'est pas un nom de colonne qui existe dans votre table.

Bonne année


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums