Connexion Myslq PDO [Résolu]

Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
- - Dernière réponse : cs_vargas
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
- 7 févr. 2012 à 15:14
Bonjour à tous

me voila avec une autre question présentement j'ai un fichier fonctions.php qui est une classe qui extend de PDO dans laquelle j'ai toutes mes fonctions et le constructeur de ma connexion à ma base de donnés :


  public $dbh;
   public function __construct($dsn,$username=null,$password,$options=null)
   {
          
      $this->dbh = parent::__construct($dsn,$username,$password,$options);
   }
   
   functions...

et une autre fichier connexion.php qui créé ma connexion:
$options array(PDO::MYSQL_ATTR_INIT_COMMAND> "SET NAMES utf8"); 
$req = new requetes('mysql:host=localhost:3306;dbname=gestion','root','',$options);


jusqu'à là tout vas bien, mais mon problème c'est quand dans un autre fichier j'ai crée une fonction qui me générer un formulaire avec de l'information de la bdd j'ai fait mes deux includes,
  function Taches()
  {
    include_once 'Fonctions_Bd.php';
    include_once('connexion.php');

$result=$req->query("SELECT * FROM activites");
}
mais j'ai comme erreur : Undefined variable: req pourtant partout ailleurs j'ai accès.

J'ai vraiment besoin d'un grand coup main svp si quelqu'un connait une solution je vous remercie beaucoup
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
10
3
Merci
Salut,

fonctions.php (ou Fonctions_Bd.php plutôt...) est un nom très mal choisi pour ton fichier, utilises plutôt le nom de ta classe étendue (et les deux en upper camel case de préférence). Ensuite, inclure des fichiers à chaque fois que t'as besoin d'une connexion à al DB... c'est une idée encore plus mauvaise. Sérieusement, inclus ton fichier de connexion une seule fois et fais lui utiliser une globale :
<?php

$GLOBALS['ton_projet']['db'] = new requetes('mysql:host=localhost:3306;dbname=gestion', 'root', '', $options);

?>


Sinon, ton problème semblais être une banale erreur de portée des variables, mais tu en as trop peu dit pour que ce soit certain. En tout cas fais donc comme je t'ai dit, il n'y aura plus de problème.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TychoBrahe
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
0
Merci
Bonjour,

Problème de portée des variables. Dans chaque fichier inclus commence par extract — Importe les variables dans la table des symboles.

extract($req);

________________________________________
( $toBe || !$toBe ) = $this->Question();
Commenter la réponse de inwebo
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
0
Merci
Bonjour

Un gros merci à vous deux effectivement mon problème était à cause des portées des varibles
Commenter la réponse de cs_vargas