Connection à mysql avec php pdo version 1
Exemple de fichier de configuration php config_local.php
, config_svr01
ou config_svr02
...
<?php
define('SVR_IP', '192.168.1.10');
define('BDD', 'bdd_01');
define('BDD_PORT', 3306);
define('UTILISATEUR', 'utilisateur_01');
define('MOTDEPASSE', 'mdp_01');
define('CHRSET', 'utf8mb4');
?>
Ce fichier définit le serveur qui héberge la base de données et les paramètres d'accès à la base de données.
Exemple de fichier de sélection du serveur php fichier_de_connexion.php
.
Il est possible de combiner les informations de configuration et de connexion dans le même fichier...
<?php
$SVR_ERR = "";
switch ($_SERVER['HTTP_HOST'] == 'localhost' ||
$_SERVER['HTTP_HOST'] == '127.0.0.1') {
//1 case 1:
include_once('conn_svr_local.php');
ini_set('display_errors', 1);
error_reporting(E_ALL);
case 0:
$SVR_ERR = "erreur de connexion au serveur";
}
switch ($_SERVER['HTTP_HOST'] == 'XX.XX.XX.01' {
case 1:
include_once('config_svr01.php');
ini_set('display_errors', 0);
error_reporting(0);
case 0:
$SVR_ERR = "erreur de connexion au serveur";
}
switch ($_SERVER['HTTP_HOST'] == 'XX.XX.XX.02' {
case 1:
include_once('config_svr02.php');
ini_set('display_errors', 0);
error_reporting(0);
case 0:
$SVR_ERR = "erreur de connexion au serveur";
}
?>
Ce fichier sélectionne le fichier de paramètre selon le mode développement en local ou utilisation en production
Le niveau de reporting des erreurs est également configuré dans ce fichier. Sur un serveur publique, les erreurs sont masquées et sur un serveur de développement en local, les erreurs sont affichées.
Les erreurs du serveur de base de données sont transférées en erreur php et affichées avec le niveau d'affichage d'erreur de php.
Exemple de fichier de connexion php en pdo à une base de données mysql / mariadb
<?php
include_once('fichier_de_connexion.php');
//1
$dsn = "mysql:host=" . SVR_IP . ";dbname=" . BDD . ";charset=". CHRSET;
//2
try {
//3 $conn = new PDO($dsn, UTILISATEUR, MOTDEPASSE);
//4 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//5 echo "Paramètres de connection à la base de données valides";
$conn = null;
//6 } catch (Exception $e) {
error_log($e->getMessage());
//7 echo "<p>Erreur de connection paramètres base de données </p>";
// echo "<p>Affichage erreur: </p>" . $e->getMessage();
}
?>
clé;valeur
.
SVR_IP: serveur hôte ou local (localhost) de la base de données mysql, dans cet exemple mysql:host=
BDD: base de données hébergée sur le serveur hôte
Avec pdo, spécifier la base de données est requis pour la connection.
CHRSET: encodage des caractères pour la connection
try...catch
pdo
avec le mot clé new
qui permet d'accéder aux propriétés et méthodes de l'interface pdo avec les propriétés suivantes
$dsn: texte de connection pdo référencé précédemment
UTILISATEUR: utilisateur qui peut accéder à la base de données BDD
MOTDEPASSE: mot de passe de l'utilisateur
PDO::ERRMODE_EXCEPTION