article(s) dans votre panier VOIR

Tuto PHP/MySQL | Exercice sur les requêtes préparées

  • Vidéo 131 sur 158
  • 4h43 de formation
  • 158 leçons

Un contenu flash devrait s'afficher ici. Votre navigateur ne comporte pas de plugin flash, ou il ne s'est pas correctement initialisé.

Vous pouvez télécharger le plugin flash depuis le site d'Adobe à l'adresse suivante : http://get.adobe.com/flashplayer/.

Pour accéder à la suite de cette formation, vous devez vous abonner.
previous
summary
resume
next
play
Exercice sur les requêtes préparées
00:00 / 01:13
HD
fullscreen
Je m’abonne
à partir de 16,6 € / mois
  • Visionnage en ligne
  • Accès illimité à toutes nos formations
OU
J'achète uniquement
la formation
49,90€
  • Téléchargement + VOD à vie
  • Accès uniquement à cette formation

Sommaire de la formation

Détails de la formation

Reprenez l'exercice précédent, mais cette fois-ci, utilisez une requête préparée.

Solution

Faites une pause dans la vidéo pour vous permettre de définir le code. Vous pourrez poursuivre le visionnage de la vidéo pour prendre connaissance de la solution.

<?php

  try {

    $base = new PDO('mysql:host=localhost; dbname=northwind', 'root', '');

  }    

  catch(exception $e) {

    die('Erreur '.$e->getMessage());

  }

  $base->exec("SET CHARACTER SET utf8");

  $retour = $base->prepare('SELECT OrderID, Customer, ShipCity FROM orders WHERE ShipCountry=?');

  $retour->execute(array("France"));

  echo "<table>";

  while ($data = $retour->fetch()){

    echo "<tr><td>".$data."</td>";

    echo "<td>".$data."</td>";

    echo "<td>".$data."</td></tr>";

  }

  echo "</table>";

  $base = null;

?>

La plupart des instructions sont conservées. Notez cependant que la méthode query est remplacée par la méthode prepare. La valeur affectée au champ ShipCountry dans la clause WHERE n'est pas spécifiée en clair. Un point d'interrogation remplace la valeur à utiliser.

Pour indiquer que les enregistrements sélectionnés doivent avoir un champ ShipCountry égal à France, on invoque la méthode execute en lui passant la chaîne France.

 

Exécutons ce code dans WAMP Server. Le résultat est bien entendu identique à celui de l'exercice précédent.