Probleme dinsertion php/mysql
Résolu
ayoubbrs
-
Super_carotte Messages postés 185 Date d'inscription Statut Membre Dernière intervention -
Super_carotte Messages postés 185 Date d'inscription Statut Membre Dernière intervention -
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
========================================
===========================
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>
===========================
8 réponses
-
-
voila mon code eleve
==============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);
-- -
-
Premiere étape:
fais un echo de ta requete, copie la requete qui s'affiche a l'ecran et passe la directement a ta BDD pour voir si la requete est correctement construite. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Créé ta table comme ça:
CREATE TABLE eleve ( ID_Eleve INT UNSIGNED NOT NULL AUTO_INCREMENT, Nom_ELEVE varchar(20) NOT NULL, Prenom_ELEVE varchar(20) NOT NULL, Filiere enum('IMS','ME','MT') default NULL, nom_Option enum('CIM','MACRO','MICRO','MFE') default NULL, Sous_option enum('ERE','AERO','ENER','VINCI','ASS','STCM') default NULL, PRIMARY KEY (ID_Eleve) ); -
Bonjour,
Je suis trés pressé, voila un correctif. jen'ai maheuresement pas le temps de t'exmplquer.
Etudie ce code et pose des questions, j'y repondrai demain.
Et il y a beaucoups de chose pas super dans ton code, on en reparlera.
ta table a recréer avec ce nouveau code:CREATE TABLE eleve (
ID_Eleve INT UNSIGNED NOT NULL AUTO_INCREMENT,
Nom_ELEVE varchar(20) NOT NULL,
Prenom_ELEVE varchar(20) NOT NULL,
Filiere enum('IMS','ME','MT') default NULL,
nom_Option enum('CIM','MACRO','MICRO','MFE') default NULL,
Sous_option enum('ERE','AERO','ENER','VINCI','ASS','STCM') default NULL,
PRIMARY KEY (ID_Eleve)
);
Ton code de page:<?php
/**
* Classe implémentant le singleton pour PDO
* @author Savageman
*/
class PDO2 extends PDO {
private static $_instance;
/* Constructeur : héritage public obligatoire par héritage de PDO */
public function __construct( ) {
}
// End of PDO2::__construct() */
/* Singleton */
public static function getInstance() {
if (!isset(self::$_instance)) {
try {
self::$_instance = new PDO('mysql:host=localhost;dbname=sousstech', 'root', '');
} catch (PDOException $e) {
echo $e;
}
}
return self::$_instance;
}
// End of PDO2::getInstance() */
}
function submit_request($sql){
$pdo = PDO2::getInstance();
$resultats = $pdo->prepare($sql);
if ($resultats->execute()) {
// $result = $resultats->fetchAll();
$result = $resultats->fetchALL(PDO::FETCH_ASSOC);
return $result;
}
return $resultats->errorInfo();
}
?>
<html>
<head>
<body><title> inscription </title>
<form method="POST" action="#" >
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']; */
/*$bdd->exec('insert into elève (ID_Eleve, Nom_ELEVE,Prenom_ELEVE,Filiere,Option,Sous_option)
values( "'.$num.'","'.$nom.'","'.$prenom.'","'.$filiere.'","'.$option.'","'.$sous_option.'")'); */
$requete="INSERT INTO eleve('Nom_ELEVE',
'Prenom_ELEVE',
'Filiere',
'nom_Option',
'Sous_option')
VALUES( '".$_POST['nom']."',
'".$_POST['prenom']."',
'".$_POST['filiere']."',
'".$_POST['option']."',
'".$_POST['sous_option']."'
)";
echo $requete;
$result=submit_request($requete);
echo '</br>insertion effectuer';
}
?>
</body>
</html> -
merci mon amis pour tes conseils j vais essayé de les appliquer , en effet je suis entraine de débuter en php si vous avez un bon tuto ca sera utile pr moi.
merci -
Bonjour,
VOici un tres bon tuto pour comencer le PHP web:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
Bonne continuation,
Ben