Bonjour,
Je pars d'un script faisant N fois la même connexion à la BDD. C'est pas bon car ça pose un gros risque d'erreur de saisie et de plus, on va avoir N connexions au lieu d'une seule.
J'avais en tête un script de connexion "statique" de ABCIWEB. Une petite recherche m'a donné ce lien : https://www.developpez.net/forums/d2...sse-connexion/. J'ai donc créé une classe :Le script ne comporte pas de namespace. J'en ai donc rajouté un (ligne 2).
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 <?php namespace marion; // Pour enregistrer le $_POST en session et éviter de re saisir tous les champs en cas d'erreur de saisie session_start(); // Classe de connexion class C_PDO { private static $connexion; private static function newC_PDO() { // VARIABLES A REMPLACER $hostname = 'localhost'; $database = "users"; $username = 'root'; $password = 'root'; // Options de configuration PDO utilisées dans les exemples $pdo_options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_ASSOC; // gestion des erreurs liées au fetch $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; // gestion des exceptions self::$connexion = new PDO('mysql:host='.$hostname.';dbname='.$database.';charset=utf8', $username, $password, $pdo_options); } public static function getC() { if(self::$connexion == NULL) {self::newC_PDO();} return self::$connexion; } }
Ensuite, pour l'utiliser dans mon code, je place en début de fichierpuis plus bas pour l'utiliser dans une fonction :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php declare (strict_types=1); use marion\C_PDO; ...Mais
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function addUserData(string $prenom, string $nom, string $adresse, string $cp, string $ville, string $telephone, string $email, string $password): bool { $database = C_PDO::getC(); ...Quelle est la raison, SVP ?Fatal error: Uncaught Error: Class "marion\C_PDO" not found in C:\projets\arnaudmarionmvc\users.php on line 41
Partager