Bonjour tout le monde,

Dans le cadre de mon stage je dois utiliser le couple PHP/MySQL, je me forme dessus à mesure puisque je ne connais pas très bien.

Actuellement j'ai un problème de connexion à ma base de données via PHP et la classe PDO.

Je travaille sur WampServeur(donc PDO installé d'office), PHP 5.2, et MySQL 5.0
Dans le but de tester des requêtes j'ai créé une base de données via PHPmyAdmin nommé "addm"

Actuellement mon application comporte 2 classes
Une classe utilisateur et une classe AccesBD
Voici le code de la classe AccesBD qui sert à initialiser la connexion à la BD. (elle renvoit ensuite une référence vers l'objet permettant d'effectuer des opérations dessus)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
class AccesBD
{
	private $user; // login de la BD
	private $mdp; // mot de passe de connexion à la BD
	private $url; // adresse de connexion
	private $etat; // objet permettant les opérations sur la BD, de la classe PDO
 
	public function __construct()
	{
		$this->user = 'root';
		$this->mdp = '';
		$this->url = 'mysql:host=localhost;dbname=addm';
	}
	/**Lance la connexion à la base de données et retourne l'objet
	permettant d'effectuer des opérations sur la BD */
	public function connexion()
	{
		try 
		{
			$this->etat = new PDO($url,$user,$pass,array(PDO::ATTR_PERSISTENT => false));
			return $this->etat;
		}
		catch (PDOException $e)
		{
			die("Erreur ! : " . $e->getMessage());
		}
	}
	/** Ferme la connexion */
	public function deconnexion()
	{
		$this->etat = NULL;
	}
}
?>
Je précise aussi que j'ai récupéré la syntaxe de connexion sur la documentation officielle.

L'appel de connexion() se fait dans une méthode de la classe Utilisateur
que voici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public function rechercheUtilisateurParLogin($login)
	{
		$this->obd = new AccesBD();
		$base_donnees = $this->obd->connexion();
	}
Au final l'exécution déclenche l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Erreur ! : invalid data source name
Voilà j'ai essayé plusieurs choses comme vérifier le nom de la BD, le fonctionnement du serveur (il marche j'arrive à obtenir le status via la console MySQL) mais rien n'y fait ..

Merci d'avance pour vos suggestions