Insertion en PHP/MYSQL
Résolu
aliounemane2
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
aliounemane2 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
aliounemane2 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
Bonjour j'ai un problème pour insérer dans une base de données
Aprés avoir remplit tous les champs de texte et validé le formulaire aucune erreur ne s'affiche mais
lorsque je vérifie dans ma base de données aucune insertion n'a été prise en compte
HELP ME PLEASE ....
Voici l'interface du champ de texte
Voici la classe Connexion
Enfin Voici la classe qui permet de faire le traitement d'insertion
HELP Me ...
Aprés avoir remplit tous les champs de texte et validé le formulaire aucune erreur ne s'affiche mais
lorsque je vérifie dans ma base de données aucune insertion n'a été prise en compte
HELP ME PLEASE ....
Voici l'interface du champ de texte
<!DOCTYPE html> <html> <head> <title> Test </title> <meta charset="utf-8"/> </head> <body> <form method="POST" action="ajout.php" class=""> <div class="etape_1"> <input type="hidden" name="id_finder" value="uniqid()" /> <label> Nom </label> <input type="text" autocomplete="off" name="nom_finder" placeholder="Nom" required /><br/> <label> Prenom </label> <input type="text" name="prenom_finder" placeholder="Prénom" /><br/> <label> Adresse </label> <input type="text" name="addr_finder" placeholder="Où habitez-vous ?" /><br/> <label> Téléphone </label> <input type="text" autocomplete="off" name="tel_finder" placeholder="Numero de tél." required/><br/> <label> mail </label> <input type="mail" autocomplete="off" name="mail_finder" placeholder="Email" /><br/> <input type="submit" value="Envoyer" name="envoyer"/> </div> </form> </body> </html>
Voici la classe Connexion
<?php class Connexion{ public static function getMysqlConnexion(){ static $connexion; try{ /* Connexion au Serveur */ $connexion = new PDO('mysql:host=localhost;dbname=activfinddb','root',''); // On émet une alerte a chaque fois qu'une requette a échoué $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); return $connexion; }catch(Exception $e){ die(" Impossible d'accéder à la base de donnée ".$e->getMessage()); } } } ?>
Enfin Voici la classe qui permet de faire le traitement d'insertion
<?php getMysqlConnexion(); class Finder{ private $id_finder; private $nom_finder; private $prenom_finder; private $tel_finder; private $addr_finder; private $mail_finder; public function addFinder(){ if (isset($_POST['envoyer'])) { # code... $recuperation = array( 'id_finder'=>$id_finder, 'nom_finder'=>$nom_finder, 'prenom_finder'=>$prenom_finder, 'tel_finder'=>$tel_finder, 'addr_finder'=>$addr_finder, 'mail_finder'=>$mail_finder ); $insertion = $connexion->prepare('INSERT INTO finder(id_finder,nom_finder,prenom_finder,tel_finder,addr_finder,mail_finder) VALUES (:id_finder,:nom_finder,:prenom_finder,:tel_finder,:addr_finder,:mail_finder)'); $insertion->exec($recuperation); echo " Ajout effectué avec Succés "; } } } ?>
HELP Me ...
A voir également:
- Insertion en PHP/MYSQL
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
1 réponse
Salut,
Tu devrais pourtant avoir une erreur php "Call to undefined method" car ta variable $insertion qui correspond à une instance de la classe PSOStatement ne possède pas la méthode exec().
Tu dois utiliser la méthode execute() pour exécuter une requête préparée :
Bonne journée
Tu devrais pourtant avoir une erreur php "Call to undefined method" car ta variable $insertion qui correspond à une instance de la classe PSOStatement ne possède pas la méthode exec().
Tu dois utiliser la méthode execute() pour exécuter une requête préparée :
$insertion = $connexion->prepare('...'); $insertion->execute($recuperation);
Bonne journée
mais même si je le change cela me renvoie un nouvel erreur en me disant qu'il y'a un problème d'instanciation dans la classe Finder tout au début getMysqlConnexion()
Es-tu sur que la classe Finder est bien inclue dans ton script ?
Fatal error: Call to undefined function getMysqlConnexion() in C:\wamp\www\ACTVFND\traitement\ajout.php on line 3
Call Stack
# Time Memory Function Location
1 0.0005 250928 {main}( ) ..\ajout.php:0
et voici le code correspondant
Cette connexion doit également être récupérer dans ta méthode qui ajoute les données, soit :
mais j'ai essayé le code que vous m'avez donné mais
cela n'affiche pas le message " Ajout effectué avec Succés"
et cela n'affiche aucune érreur
mais cela je vérifie dans la base de données il y'a aucun ajout qui a été faite...