Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/04/2011, 10h18   #1
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
Par défaut erreur de connexion PDO

Bonjour à tous,

J'ai un petit souci de connexion :

J'ai un fichier php dans lequel je mets toutes mes fonctions utiles pour un projet.

dans ce fichier, je commence à avoir quelques fonctions et toutes doivent se connecter à une BD. j'aimerai donc créer une fonction connexionBDD() pour ensuite l'appeler dans les autres fonctions qui en ont besoin.

Voilà en gros ce que je fais :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
function My_Connexion()
{
try
{
$bdd2 = new PDO('mysql:host=mysql.MonDomaine.fr;dbname=MaBDD', 'MonLogin', 'MonPass');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
}
et ensuite j'appelle ma fonction comme ça :

sauf que si je fais ça, lorsque je veux travailler sur ma base, ça me met erreur :

Citation:
Fatal error: Call to a member function prepare() on a non-object in...
comme si $bdd2 n'était pas initialisé...

Comment puis-je faire pour résoudre ce problème ? car il suffit que je change de serveur, si j'ai 100 fonctions à modifier, ça va pas trop le faire...

D'avance merci pour vos réponses,

Thibaut
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 10h37   #2
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
bon même si cette solution ne me plait que moyennement, j'ai fait par la méthode des include...

ainsi j'ai un fichier connexionBDD.php ou j'ai mis mon try{}catch{} et je l'appelle par include('connexionBDD.php');
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 11h32   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
$bdd2 n'est que visible par la function, retourne $bdd2 et fait

Code :
$bdd2 = My_Connexion();
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 13h57   #4
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
ah ok !!

Merci !!!
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h37.


 
 
 
 
Partenaires

Hébergement Web