cs_vargas
Messages postés42Date d'inscriptionsamedi 14 juin 2003StatutMembreDernière intervention10 juin 2013
-
7 févr. 2012 à 03:14
cs_vargas
Messages postés42Date d'inscriptionsamedi 14 juin 2003StatutMembreDernière intervention10 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
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 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.