Vous n'êtes pas identifié(e).
Pages :: 1
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
help
Hors ligne
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
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
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
//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
Pages :: 1