Software">
Développement d'Applications Web en PHP
Développement d'Applications Web en PHP
DEVELOPPEMENT
D’APPLICATION
WEB
Pr. Mohamed Rida FETHI
Plan
1
1
Introduction
2
2 HTML & CSS
3 JavaScript
4
4
AJAX
5
5
PHP
5 CMS PHP
2
PHP
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
4
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Introduction
PHP est un langage de script qui est principalement utilisé pour être exécuté par
un serveur HTTP.
PHP n'est pas un langage compilé, c'est un langage interprété par le serveur : le
serveur lit le code PHP, le transforme et génère la page HTML. Pour fonctionner,
il a donc besoin d'un serveur web. De ce fait une plateforme minimale de base
pour l’exécution d’un site web développé en PHP comprend :
1. l’interpréteur PHP (serveur PHP)
2. un serveur web (Apache, IIS, …)
5
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Introduction
Le code PHP n’est jamais visible sur la page finale consultée par le client. Ainsi en
éditant la source de la page on n’y trouvera que du code HTML. 6
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Premiers éléments du langage
<?PHP
echo 'bonjour';
?>
Ce qui affichera à l'écran ‘ bonjour ’.
Remarque importante :
Du moment que des parties de code PHP ont été intégrées dans une page HTML cette
dernière doit impérativement être renommée en extension .php
7
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Exemple Simple
8
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Exemple Simple
<html>
<body>
<font size="2" face="Arial">Le texte en HTML</font> <br>
<? PHP
echo "<font size=\"2\" face=\"Arial\"> Le texte est en PHP.</font>";
?>
<br>
<font size="2" face="Arial">
< ? PHP
echo ‘Encore du texte en PHP’ ?></font>
</body>
</html>
<?php
$variable1 = 'Bonjour 1'; //Affectation d’une chaîne
$variable2 = ’’Bonjour 2’’; // Affectation d’une chaîne
$variable3 = 5; // Affectation d’un entier
$variable4 = 2 + (3 * 5); // Affectation d’un résultat d’opération
$variable5 = true; // Affectation Booléenne
?>
10
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
<?php
$nom = 'visiteur'; <?php
echo "bonjour $nom"; $nom = 'visiteur';
?> echo 'bonjour $nom'; // La variable $nom ne sera pas
Le résultat obtenu sera : interprétée
bonjour visiteur ?>
Exercices d’application
Exercice 1
Afficher dans une page la phrase « Ceci est une ligne crée uniquement en PHP ».
Afficher à la ligne suivante : « Ceci est la 2ème phrase crée avec PHP».
Créer un lien sur le site google ([Link]).
Exercice 2
Déclarer 2 variables : nom et prénom. Les initialiser avec les valeurs
« Votre_nom » et « Votre_prénom » et les afficher sur la page en utilisant 3 modes
syntaxiques différents :
- 2 commandes echo
- 1 commande echo avec 1 seule chaîne de caractère
- 1 commande echo avec le point de concaténation
12
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Opérateurs
13
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Opérateurs
14
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Structures de contrôle
➢ if
➢ if … else
➢ switch
➢ for
➢ while
Plus tard.
➢ foreach
15
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fonctions
Les fonctions peuvent se distinguer en deux sous groupes :
1 -les fonctions qui effectuent un traitement (affichage par exemple)
Exemple
Syntaxe
<?php
function nom_de_la_fonction ($paramètres)
function afficher_nom_prenom ($nom,$prenom)
{
{
//traitement sur les paramètres effectué
echo 'Bonjour '.$nom ' '.$prenom ;
}
}
L’appel de la fonction se fait de la manière
afficher_nom_prenom ('rami','ahmed') ;
suivante :
echo ' <br>' ;
nom_de_la_fonction ($paramètres) ;
$nom1='rami' ;
$prenom1='ahmed' ;
afficher_nom_prenom ($nom1,$prenom1) ;
?>
16
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fonctions
2 -les fonctions qui effectuent un traitement et retournent un résultat
Syntaxe
Exemple
<?php
function nom_de_la_fonction ($paramètres) function additionner ($variable1,$variable2)
{ {
//traitement sur les paramètres effectué $total = $variable1 + $variable2;
return ($resultat) ; return ($total) ;
} }
L’appel de la fonction se fait de la manière $resultat= additionner (1,2) ;
suivante : echo $resultat.' <br>' ;
$variable = nom_de_la_fonction ($paramètres) ; $var1=6 ;
$var2=7 ;
$resultat= additionner ($var1,$var2) ;
echo $resultat.' <br>' ;
?> 17
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fonctions
Librairie de fonctions
Idéalement toutes les fonctions créées devraient être regroupées dans un même fichier créant ainsi une bibliothèque
de fonctions. Ce fichier sera appelé à l’intérieur des autres fichiers par le biais de la fonction include.
<? php
<? php
//Ce fichier contiendra l’ensemble des fonctions que
include (’’[Link]’’) ;
vous développerez
$resultat= additionner (1,2) ;
function additionner ($variable1,$variable2)
echo $resultat.' <br>' ;
{
afficher_nom_prenom ('rami','ahmed') ;
$total = $variable1 + $variable2;
?>
return ($total) ;
}
function afficher_nom_prenom ($nom,$prenom)
{
echo 'Bonjour '.$nom. ' '.$prenom ;
}
?>
18
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tableaux
Tableaux numérotés et tableaux associatifs
19
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tableaux
Syntaxe Exemple
Syntaxe
$tableau = array (valeur0,valeur1,valeur2, …) ;
foreach ( $tableau as $valeur )
{
//Appeller ici la valeur courante par $valeur
…
}
Exemple
<? <?
//Cas du tableau numéroté //Cas du tableau associatif
$tableau1 = array ('chateau','maison','bateau') ; $tableau2 = array ('prenom' =>'ahmed','nom'
foreach ( $tableau1 as $valeur ) =>'rami','ville' =>‘Errachidia') ;
{ foreach ( $tableau2 as $valeur )
echo $valeur."<br>"; {
} echo $valeur."<br>";
?> }
?> 21
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tri de tableaux indicés
<?php
$a=array("a10", "b11", "b"=>"a9", "C12", "c12");
sort($a); // Les éléments seront triés du plus petit au plus grand.
print_r($a); /* 1 */
22
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
krsort($a);
print_r($a); /* 2 */
?>
23
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
$c=array_diff($a,$b);
print_r($c); /* 2 */
?>
24
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Chaînes et tableaux
<?
$ch = "J'aime le PHP. Vive le web!";
$tab = explode(' ',$ch);
print_r($tab); /* 1 */
$tab = explode('.',$ch);
print_r($tab); /* 2 */
$ch = implode("--",$tab);
echo $ch."\n"; /* 4 */
?>
25
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fusion de tableaux
<?
$a = array("a" => "Pomme", "b" => "Banane");
$b = array("b" => "Orange", "c" => "Cerise");
$c=array_merge($a,$b);/* Rassemble les éléments d'un ou de plusieurs tableaux en ajoutant les
valeurs de l'un à la fin de l'autre. Le résultat est un tableau. */
print_r($c); /* 1 */
1 2
26
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
27
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Recherche de sous-chaînes
<?
$ch = "bonjour salut bonjour"; 1. 2
$nb = substr_count($ch, "bonjour"); 2. "salut salut salut"
echo $nb; /* 1 */ 3. 8
$ch2 = str_replace("bonjour", "salut", $ch); 4. false
echo $ch2; /* 2 */ 5. 8
$pos = strpos($ch,"salut"); 6. "salut"
echo $pos; /* 3 */
$pos = strpos($ch,"Salut");
echo $pos; /* 4 */
$pos = stripos($ch,"Salut");/*Recherche la position de la première occurrence dans
une chaîne, sans tenir compte de la casse*/
echo $pos; /* 5 */
$ch3 = substr($ch,8,5);
echo $ch3; /* 6 */
?>
28
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
<?
echo strcmp("toto2","toto2"); 1. 0
echo strcmp("toto12","toto2"); 2. -1
echo strcmp("toto2","toto12"); 3. 1
echo strcasecmp("toto","ToTo"); 5. 1
?>
<?
$ch1 = "abc";
$ch2 = "bcd";
if ($ch1 < $ch2)
echo "<";
else
echo ">";
?>
29
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Exercices d’application
30
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Variables serveur
PHP propose l’accès à toute une série de variables comme les en-têtes, dossiers et
chemins des scripts, sans que vous ayez à les créer, on les appelle les variables
serveur. Ces variables sont créées par le serveur web.
Variables serveur
Exemple
<?php
echo 'PHP_SELF: '.$_SERVER['PHP_SELF'];
Le résultat obtenu sera :
32
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
1. Ouverture / fermeture de fichier
Avant toute opération de lecture ou écriture sur un fichier il y a nécessité de
l’ouvrir. Et à la fin de tout traitement d’un fichier il y a nécessité de le fermer.
Syntaxe
<?
// Ouverture de fichier
$monfichier = fopen("nom_du_fichier", "r+");
// Traitements sur le fichier
// …..
// Fermeture du fichier
fclose($monfichier);
?>
33
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
fopen() prend en entrée :
-le nom du fichier (ou même une url)
-le mode d’ouverture du fichier
fclose().
<?
$h = fopen("[Link] "r");
Exemple
$h = fopen("test/[Link]", "r+");
?> 34
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
Lecture de fichier ( fgets() )
Syntaxe
<?
$monfichier = fopen("nom_du_fichier", "r+");
fgets ($monfichier, $taille) ;
fclose($monfichier) ;
?>
Rami Ahmed
Errachidia Exemple 1
maroc
<?php
$i=0;
Exemple 2
$fichier = '[Link]';
<table border="1"> $fp = fopen($fichier,'r') ;//ouverture du fichier en lecture seulement
<tr><th>Nom</th><th>Prenom</th while ( !feof($fp)) // tant qu’on n’est pas a la fin du fichier
></tr> {
<?php $ligne = fgets($fp); //Lecture ligne par ligne
$id = fopen("[Link]", "r"); echo 'Ligne '.$i++.'--->'.$ligne.'<br>'; }
while ($ligne=fgets($id)) { fclose($fp);
$t = explode(" ", $ligne); ?>
echo Le résultat obtenu sera :
"<tr><td>$t[0]</td><td>$t[1]</td Ligne 1 ---> Rami Ahmed
></tr>"; } Ligne 2 ---> Errachidia
flcose($id); Ligne 3 ---> maroc
?></table> 36
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
Lecture de fichier (fread() )
<?
<? // Lit un fichier, et le place dans une chaîne /
$monfichier = $filename = "[Link]";
fopen("nom_du_fichier", "r+"); $handle = fopen ($filename, "r");
fread ($monfichier, $taille) ; $contents = fread ($handle,filesize($filename));
fclose($monfichier); echo "-->".$contents;
?> fclose ($handle);
?>
Le résultat obtenu sera :
--> rami ahmed agadir maroc
37
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Exercices d’application
38
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
Ecriture dans un fichier
La fonction pour l’écriture dans un fichier est fputs():
int fputs( int handle , string string , int length )
fputs écrit le contenu de la chaîne string dans le fichier pointé par handle. Si la longueur length
est fournie, l'écriture s'arrêtera après length octets, ou à la fin de la chaîne.
Syntaxe Exemple
<?
<?
$monfichier =
$filename = "[Link]";
fopen("nom_du_fichier", "r+");
$monfichier = fopen ($filename, "a+");
fputs ($monfichier, "Texte à écrire");
$contenu="ceci est le texte a ecrire\n";
fclose ($monfichier) ;
fputs($monfichier, $contenu);
?>
fclose ($monfichier);
?>
Le résultat obtenu sera :
Le fichier [Link] aura une ligne supplémentaire
contenant « ceci est le texte à écrire » 39
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Manipulations de fichiers
Existence :
<?php
if (file_exists("[Link]"))
echo "le fichier existe";
else echo "le fichier n'existe pas";
?>
40
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Manipulations de fichiers
Copie de fichiers :
<?php
$res = copy("[Link]", "[Link]");
if ($res==FALSE) die("erreur");
?>
Renommer un fichier :
<?php
$res = rename("[Link]", "[Link]");
if ($res==FALSE) die("erreur");
?>
Supprimer un fichier :
<?php
$res = unlink("[Link]");
if ($res==FALSE) die("erreur");
?>
41
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
42
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Quand dans un site web un formulaire est rempli et envoyé, le contenu des champs saisis est
transféré à la page destination sous forme de variables. Ce passage de variables ou de
paramètres peut se faire de deux manières : en GET ou en POST.
➢ la méthode GET : les variables du formulaires sont transmises dans la barre d’adresse
sous la forme ?nom_du_cham=valeur. On peut mettre plusieurs variables à la suite en les
séparant par un &.
([Link]
➢ la méthode POST : les variables du formulaire transitent de manière invisible.
43
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Selon que la méthode d’envoi a été du GET ou du POST la récupération du contenu des variables est faite selon une syntaxe
différente :
<?php
//Dans le cas d’un envoi des paramètres en POST
Syntaxe $variable1=$_POST'[‘nom_du_champ'] ;
<html>
<body> <?
<form method="post" action="[Link]"> //Récupération des paramètres passés
Nom : <input type="text" name="nom" $prenom = $_POST['prenom'];
size="12"><br> $nom = $_POST['nom'] ;
Prénom : <input type="text" name="prenom" //affichage des paramètres
size="12"> echo "<center>Bonjour $prenom
<input type="submit" value="OK"> $nom</center>";
</form> ?>
</body>
</html> 45
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Syntaxe:
La récupération des paramètres dans la page destination se fait par le tableau $_GET
<?
$variable1=$_GET['variable1'] ;
$variable2=$_GET['variable2'] ;
… 47
?>
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
}
48
?>
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions sont un moyen de stocker des informations relatives au visiteur. Il s’agit d’une
alternative aux cookies.
La différence entre les sessions et les cookies est que les cookies sont stockés sur le poste du
visiteur tandis que les sessions sont dans des fichiers présents sur le serveur. Il s’agit d’un
stockage temporaire mais, les fichiers de sessions ne peuvent pas être vus et modifiés,
contrairement aux cookies.
Comment ça fonctionne ?
Les informations sont stockées dans des fichiers, sur le serveur, à chaque session correspond un
fichier. Chaque session est désignée par un nom et un identifiant.
49
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
Les fonctions de gestion des sessions :
Fonction Signification
session_start Démarre une session
session_register Enregistre une variable de session
session_unregister Efface une variable de session
Vérifie si une variable est déclarée pour
session_is_registered
la session en cours
session_id Retourne l'id de la session en cours
session_name Retourne le nom de la session en cours
Detruit toutes les variables de la session
session_unset
en cours
session_destroy Detruit la session en cours
50
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
➢ toutes les variables enregistrées au cours d’une session, seront accessibles dans
les pages en utilisant :
Soit le tableau $_SESSION
Soit les fonctions : session_register , session_is_register ou session_unregister
51
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
On aura alors une page contenant un formulaire permettant à notre visiteur de se connecter à une
section membre (page [Link]) : [Link]
<html>
<head>
<title>Formulaire d'identification</title>
</head>
<body>
<form action="[Link]" method="post">
Votre login : <input type="text" name="login">
<br />
Votre mot de passe : <input type="password"
name="pwd"><br />
<input type="submit" value="Connexion">
</form>
</body>
</html>
52
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
On aura alors par exemple (page [Link]) :
<?php
$login_valide = "moi";
$pwd_valide = " 1234";
if (isset($_POST['login']) && isset($_POST['pwd'])) {
if ($login_valide == $_POST['login'] && $pwd_valide == $_POST['pwd']) {
// dans ce cas, tout est ok, on peut démarrer notre session
session_start ();
// on enregistre les paramètres de notre visiteur comme variables de session
$_SESSION['login'] = $_POST['login'];
$_SESSION['pwd'] = $_POST['pwd'];
// on redirige notre visiteur vers une page de notre section membre
header ('location: page_membre.php');
}
else {
echo '<body non reconnu...\')">';
// puis on le redirige vers la page d'accueil
header ('location: [Link]‘);
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?> 53
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
Remarquer également que nous utilisons notre session_start avant tout code HTML. Voyons alors le code de la
page de notre section membre, la page page_membre.php. On a :
<?php
session_start ();
// On récupère nos variables de session
if (isset($_SESSION['login']) && isset($_SESSION['pwd'])) {
// On teste pour voir si nos variables ont bien été enregistrées
echo '<html>';
echo '<head>';
echo '<title>Page de notre section membre</title>';
echo '</head>';
echo '<body>';
echo 'Votre login est '.$_SESSION['login'].' et votre mot de passe est'.$_SESSION['pwd'].'.';
echo '<br />';
// On affiche un lien pour fermer notre session
echo '<a href="./[Link]">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
?>
54
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
Voyons alors le code de la page permettant au membre de se déconnecter (la page [Link]).
On aura alors :
<?php
// On démarre la session
session_start ();
// On détruit les variables de notre session
session_unset ();
// On détruit notre session
session_destroy ();
// On redirige le visiteur vers la page d'accueil
header ('location: [Link]');
?>
Application
Gestion d’un panier
Le fonctionnement du panier
L'utilisateur parcourt le catalogue disponible sur le Web, choisit les produits qu'il désire
acheter, et en fin de parcours, regarde une dernière fois le contenu de son panier afin d'y
apporter quelques éventuelles modification avant de valider l'achat et de payer le tout.
56
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
Définition
MySQLi (MySQL Improved) est une extension de PHP qui permet d'interagir avec des bases de
données MySQL de manière plus sécurisée et performante que l'ancienne extension MySQL.
57
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
Les méthodes d'interaction avec MySQL
Définition
L'interaction avec MySQL désigne l'ensemble des opérations effectuées par un programme
PHP pour communiquer avec une base de données MySQL. Ces interactions incluent la
connexion, l'exécution de requêtes, la récupération et la manipulation des données ainsi que la
fermeture de la connexion à la base de données.
58
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
Les styles d'interaction avec MySQL
Style procédural
Le style procédural est une approche de programmation où les fonctions sont appelées de manière séquentielle
pour effectuer des opérations sur une base de données. Avec MySQLi, on utilise des fonctions comme
mysqli_connect(), mysqli_query(), et mysqli_fetch_assoc() pour interagir avec MySQL.
Le style orienté objet est une façon de programmer où le code est organisé en objets. Un objet est une entité qui
combine des données (appelées propriétés) et des actions (appelées méthodes). Cela rend le code plus
organisé, réutilisable et facile à gérer.
59
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
Le style procédural
1. Connexion à la base de données
• localhost: Le serveur de base de données. Ici, "localhost" signifie que MySQL est hébergé sur le même
serveur que le script PHP.
• utilisateur : Nom d'utilisateur MySQL (ex. "root" en local).
60
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
2. Exécution d'une requête SQL
• La fonction mysqli_query() est utilisée pour exécuter des requêtes SQL sur une base de données
MySQL, en utilisant une connexion MySQLi établie.
61
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
3. Récupération des données
•mysqli_fetch_assoc($result) : Cette fonction extrait une ligne de résultats de la requête sous forme
de tableau associatif.
•Chaque clé du tableau correspond au nom d'une colonne dans la base de données.
•Chaque valeur associée est la donnée correspondante pour cette ligne.
•La boucle while continue tant qu'il y a des lignes à parcourir dans $result.
62
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
4. Fermeture de la connexion
mysqli_close($conn);
63
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
Le style orientée objet
PDO
PDO (PHP Data Objects) est une extension PHP qui permet de se connecter et de manipuler des bases
de données de manière sécurisée, flexible et orientée objet. Elle prend en charge plusieurs types de
bases (MySQL, PostgreSQL, SQLite, etc.) et facilite la gestion des requêtes SQL grâce à ses
fonctionnalités avancées comme les requêtes préparées.
64
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
La méthode orientée objet avec PDO
Connexion à la base de données
try {
$pdo = new PDO("mysql:host=localhost;dbname=nom_de_la_base", "utilisateur", "mot_de_passe");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo "Erreur de connexion : " . $e->getMessage();
}
PHP et MYSQL
La méthode orientée objet avec PDO
66
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
La méthode orientée objet avec PDO
Récupération des données
67
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
PHP et MYSQL
La méthode orientée objet avec PDO
$pdo = null;
68