Fatal error: Call to a member function prepare() on a non-object [Résolu/Fermé]

Signaler
-
 MCEE -
Bonjour,

J'ai cette erreur: Fatal error: Call to a member function prepare() on a non-object in \validInscription.php on line 72

Voici le code:

connect.php
 <?php
 
 //-------------------------------CONNEXION---------------------------------
 
 $hote="localhost";
 $bdd="forma";
 $login="root";
 $mdp="";
 
 try{
 $connexion = new PDO ("mysql:host=$hote;dbname=$bdd",$login,$mdp);
 } catch (Exeption $e){
 die("\n Connexion à '$hote' impossible : ".$e->getMessage());
 }
 
 //--------------------------------------------------------------------------
  
  ?>



validInscription.php


// Appel du script de connexion
require "connect.php";



 //Création du login
 $login = $id.$num;
 $sql ="insert into personnel(NUM_PERS,NOM_ASSOCIATION,TYPE_PERSONNEL,MISSION,MDP,LOGIN,NOM_PRENOM,NBR_SESSION,DATE_INSCRIPTION,EMAIL) VALUES (?,?,?,?,?,?,?,?,?,?)";

$reqSQL = $bdd->prepare($sql);

$reqSQL->execute(array($num,$asso,$type,$mission,$pass_hache,$login,$id, $nbFormations, $date, $email));





Merci d'avance pour les réponses.



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.



1 réponse

Messages postés
31552
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 mars 2021
3 295
Bonjour,

1 -
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2 - Active l'affichage des erreurs PHP en ajoutant la ligne de code
error_reporting(E_ALL);
au début de tes scripts PHP

3 - Active l'affichage des erreurs PDO en ajoutant, dans ta connexion, l'instruction :
  $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


4 - Tu utilise la variable $bdd ... hors tu avais mis dans ta connexion... $connexion... (d'où le message d'erreur....)


Donc, ton code devient quelque chose du genre :
 <?php
  //-------------------------------CONNEXION---------------------------------
  $hote="localhost";
  $bdd="forma";
  $login="root";
  $mdp="";
 
 try{
    $bdd = new PDO ("mysql:host=$hote;dbname=$bdd",$login,$mdp);
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 } catch (Exeption $e){
    die("\n Connexion à '$hote' impossible : ".$e->getMessage());
 }
 ?>




Ça marche nikel, merci beaucoup !