Au Coeur Du Web

Coeur Du Web référence en produits libre de droit ainsi que des produits testés ou estimés valoir un intérêt dans l'utilisation quotidiennes.

Comment exécuter un SELECT sécurisé en PDO ?

Dans ce descriptif, nous allons prendre l’exemple d’une table de clients que nous appellerons « table_customers » .

id_customercompanyfirstnamelastnameemail
1AMDRogerAduflairra@tutu.fr
2INTELPierreJesaispaspj@tutu.fr
3CYRUSJulieCambriolejc@tutu.fr

Vous connaissez son code id (id_customer 3) par exemple.

$idClient = 3:

Récupérer les données d’un client en particulier.

Dans cet exemple, on mettra un « AS » suivi d’un nom pour que ce soit plus simple à l’utilisation par la suite.

// Cas 1
$bddClients = $bdd->prepare("SELECT 
      id_customer AS idClient, 
      company AS societe,
      firstname AS prenom,
      lastname AS nom,
      email AS email
    FROM table_customers
    WHERE id_customer = :idClient
");
$bddClients->bindParam(':idClient', $idClient, PDO::PARAM_INT);
$bddClients->execute();

Vous pouvez aussi avoir la même chose mais avec le nom de la table devant chaque colonne comme ci-dessous, on l’utilise plus quand on récupère des données sur plusieurs tables en même temps (une jointure). Nous en parlerons plus bas.

// Cas 2
// ceci est le même code que le cas 1 mais avec le nom de la table devant chaque colonne
$bddClients = $bdd->prepare("SELECT 
      table_customers.id_customer AS idClient, 
      table_customers.company AS societe,
      table_customers.firstname AS prenom,
      table_customers.lastname AS nom,
      table_customers.email AS email 
    FROM table_customers
    WHERE table_customers.id_customer = :idClient
");
$bddClients->bindParam(':idClient', $idClient, PDO::PARAM_INT);
$bddClients->execute();
// Cas 3
// ceci est le même code que le cas 1 mais sansle nom de la table devant chaque colonne
$bddClients = $bdd->prepare("SELECT 
      id_customer, 
      company,
      firstname,
      lastname,
      email
    FROM table_customers  
    WHERE id_customer = :idClient
");
$bddClients->bindParam(':idClient', $idClient, PDO::PARAM_INT);
$bddClients->execute();

J’utiliserai le Cas 1 pour la suite des explications.

Pour récupérer les données du client dont vous connaissez le code id, on utilisera un fetch simple.

$client = $bddClients->fetch(PDO::FETCH_ASSOC);

et vous pouvez stocker les données et/ou les afficher:

$societe = $client["societe"];
$prenom = $client["prenom"];
$nom = $client["nom"];
$email = $client["email"];
echo "<p>Société: " . $societe . " - Prénom: " . $prenom . " - Nom: " . $nom . " - Email: " . $email;

ou les afficher directement:

echo "<p>Société: " . $client["societe"] . " - Prénom: " . $client["prenom"] . " - Nom: " . $client["nom"] . " - Email: " . $client["email"] . "</p>";

ou encore en html en utilisant le raccourci pour afficher du PHP en HTML.

<p>Société: <?= $societe ?> - Prénom: <?= $prenom ?> - Nom: <?= $nom ?> - Email: <?= $email ?></p>

Ce qui donnera aussi dans tous les cas :

Société: CYRUS – Prénom: Julie – Nom: Cambriole – Email: jc@tutu.fr

Suite En cours

CoeurDeLion

ARTICLES SIMILAIRES

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire Encore x