Bonjour
Je suis entrain de me remettre au PHP et au passage j'en profite pour dépoussiéré mes connaissances. Ne connaissant pas trop PDO, je m'exerce à bien l'utilisé et j'ai un petit soucis.
J'ai deux fonctions: la première pour me connecter à ma BDD
une deuxième pour récupérer une valeur
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 function connectBdd() { try { $connexion = new PDO('mysql:host=localhost;dbname=basetest', 'root', '') ; $connexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); $connexion->exec('SET NAMES utf8'); } catch (Exception $e) { echo 'Erreur : '.$e->getMessage().'<br />'; echo 'N° : '.$e->getCode(); die(); } return $connexion; }
Avant avec mysqli, je mettais ma fonction pour me connecter à ma base, ensuite, je pouvais faire des requêtes dans le reste de mon script sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function retourneValeur($id) { //$bdd = connectbdd(); $reponse = $bdd->query('SELECT * FROM test WHERE id='.$id ); $donnees = $reponse->fetch(PDO::FETCH_ASSOC); return $donnees['nom']; }
j'aurai pu faire avec mysql:
fonction connectbdd(), pour me connecter à la BDD
placer dans la variable $var la valeur de retour de la fonction retourneValeur()
Si je suis cette logique avec PDO, ça donne ceci:
Pour que ça fonctionne je suis obligé de mettre l'appel à la fonction $bdd = connectBdd(); , dans la fonction retourneValeur().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $bdd = connectbdd(); $var = retourneValeur(2); echo $var;
Ca fonctionne donc c'est déjà ça , mais si je dois utiliser plusieurs fonctions récupérant ou insérant des données dans la BDD, je dois à chaque fois utiliser la fonction de connexion.
Peut instancier la connexion grâce à une fonction qu'une seule fois dans la page du script?
Ma façon de faire n'est peut être pas correct, PDO s'utilise peut être différemment?
Merci d'avance, pour quelques explications qui m'aideront à mieux utilise PDO
Partager