Script de connexion à la BDD avec PDO

Bénito7
Invité n'ayant pas de compte PHPfrance

25 mars 2011, 15:34

Salut à tous !

J'aimerais savoir s'il est possible d'inclure automatiquement (avec include() ) dans mes pages PHP un script de connexion à la base de données avec PDO ?
Parce que écrire tout le temps et sur chaque page le même code a chaque fois pour ma BDD MySQL, je trouve ça un peut trop lourd et répétitif :?

Si c'est faisable, merci de m'expliquer un peut comment ça fonctionne.

ViPHP
ViPHP | 5462 Messages

25 mars 2011, 15:39

oui c'est faisable, je vois pas ce qui te bloque

Bénito7
Invité n'ayant pas de compte PHPfrance

25 mars 2011, 15:51

Donc c'est faisable ?? Merci !

Alors, comment le faire ?
Dans ce code par exemple:
<?php
try
{
	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=base', 'root', '', $pdo_options);
	
	// Le code PHP se place ici

	catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
   ?>
Le code PHP doit être inséré à l'intérieur, or en faisant une inclusion le fichier qui contient le code de connexion est chargé au début.

Si vous avez un autre code plus clair ou une autre méthode, merci de m'aider :) .

Mammouth du PHP | 672 Messages

25 mars 2011, 16:27

Bonjour.

Le plus simple, c'est de décomposer ton script en étapes unitaires (dans le sens où chaque étapes marque la réalisation d'une action).

Dans ton exemple,il y a une étape de connexion, une (plusieurs) étape(s) ensuite.
=>
// Etape de connexion
try {
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=base', 'root', '', $pdo_options);
         catch(Exception $e) {
    die('Erreur : '.$e->getMessage());
}
// Le code PHP se place ici
Ensuite, tu peux "ranger" ces étapes dans des fonctions, que tu peux mettre dans un fichier à inclure, que tu n'auras plus qu'à appeler à chaque fois que tu en as besoin.
Fichier fonctions.php :
function connexion_db () {
   try {
      $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
      $bdd = new PDO('mysql:host=localhost;dbname=base', 'root', '', $pdo_options);
      catch(Exception $e) {
         die('Erreur : '.$e->getMessage());
      }
   return $bdd;
}
Fichier MonScript.php :
<?php
include ('fonctions.php');
//...
$bdd = connexion_db ();
// Le code PHP se place ici

Bénito7
Invité n'ayant pas de compte PHPfrance

25 mars 2011, 16:55

Merci pour tes explications. J'espère avoir bien saisit, meme si c'est un peut flou dans ma tete ;)
Je vais essayer pour voir ce que ça donne.