Connexion Myslq PDO

Résolu
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 à 03:14
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

3 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
7 févr. 2012 à 04:18
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.
3
inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
7 févr. 2012 à 10:34
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();
0
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

Un gros merci à vous deux effectivement mon problème était à cause des portées des varibles
0
Rejoignez-nous