info2gestion

PHP

MySqli connexion à mysql en programmation orientée procédural (POP)

Connection à mysql avec mysqli en procedural (POP)

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.

(1) utilisation d'une déclaration switch pour forcer une seule évaluation des conditions. La condition IF évalue chaque condition et php peut générer une erreur de type warning car la première condition créee les variables de connexion. Du fait de cette évaluation, une erreur peut être générée car une variable définie avec DEFINE ne peut pas être déclarée une nouvelle fois.

Exemple de connexion php mysqli à une base de données mysql ou mariadb en procédural


 <?php

include_once('fichier_de_connexion.php');// 1

$conn = mysqli_connect(SVR_IP, UTILISATEUR, MOTDEPASSE); // 2

if(mysqli_connect_errno()) { // 3
  exit("<p>Echec de la connexion: (" . mysqli_connect_errno() . ")</p>");
}else {
  echo "<p>Paramètres de connection à la base de données valides</p>";
}

mysqli_close($conn); // 4

?>

1 sélection du fichier de configuration qui contient les paramètres d'accès

SVR_IP: serveur hôte ou local (localhost)

UTILISATEUR: utilisateur qui peut accéder à la base de données BDD

MOTDEPASSE: mot de passe de l'utilisateur

Spécifier la base de données n'est pas nécessaire avec mysqli

2 Connexion à la base de données avec la fonction mysqli_connect()

3 Test de retour d'erreur avec la fonction mysqli_connect_errno()

4 Fermeture de la connexion avec la fonction mysqli_close()