Connexion Myslq PDO [Résolu]

Messages postés
42
Date d'inscription
samedi 14 juin 2003
Dernière intervention
10 juin 2013
- - Dernière réponse : cs_vargas
Messages postés
42
Date d'inscription
samedi 14 juin 2003
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 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Dernière intervention
5 juin 2013
13
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 120 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
Dernière intervention
23 octobre 2014
1
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.