Outils pour utilisateurs

Outils du site


informatique:programmation:php:database

Ceci est une ancienne révision du document !


Base de données

Connexion MySQL avec PDO

<sxh php>

<?php
// Les instructions dans le try et le catch sont requise pour eviter d'afficher le detail d'une erreur. Notamment le mot de passe vers la base données.
try
{
  // On active les exceptions de PDO (a faire systematiquement)
  $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
  // Connexion à la base de données
  $bdd = new PDO('mysql:host=localhost;dbname=testbs', 'testbs', 'testbs974');
  // Stockage des resultats dans un tableau sous la variable $reponse
  $reponse = $bdd->query('SELECT * FROM jeux_video LIMIT 5');
  // Tant qu'il y a des éléments on affiche la donnée du champs 'nom'
  while ($donnees = $reponse->fetch())
  {
    echo $donnees['nom'].'<br />';
  }
  $reponse->closeCursor(); // Termine le traitement de la requête
  //Le methode query utilise ci-dessus n'est pas recommandé car elle pourrait permettre des injections SQL
  //Utiliser plutôt me methode 'prepare' ci-dessous
  //Voici nos deux variables à utiliser dans la requete SQL
  $nom_possesseur = 'Florent';
  $prix_max = 20;
  // On prepare la requete sans y faire figurer les deux variables. chaques ? représente une variable qui sera insérée dans la requete
  $req = $bdd->prepare('SELECT nom, prix FROM jeux_video WHERE possesseur = ? AND prix <= ? ORDER BY prix');
  // On execute la requete en insérant les variables dans le même ordre que les ?
  $req->execute(array($nom_possesseur, $prix_max));
  echo '<ul>';
  while ($donnees = $req->fetch())
  {
    echo '<li>'.$donnees['nom'].' ('.$donnees['prix'].' EUR)</li>';
  }
  echo '</ul>';
  $req->closeCursor();
}
catch (Exception $e)
{
  // Affichage de l'erreur si besoin
  die('Erreur : '.$e->getMessage());
}
?>

</sxh>

Connexion MySQL ancienne methode

<sxh php>

<?php
  // On defini les parametre d'acces a la base de donnees dans une variable
  $param_access_db = mysql_connect ('127.0.0.1', 'root', 'abcd1234');
  // On se connect a la base de données "phpdb" avec les parametre de la variable ci-dessus
  mysql_select_db ('phpdb', $param_access_db);

  // On stock le requete SQL dans une variable
  $sql = 'SELECT * FROM liste_proprietaire';
  // On lance la requete
  $req = mysql_query($sql);
  // On stock les donnees dans un tableau
  $data = mysql_fetch_array($req);
  // On libere le memoire
  mysql_free_result ($req);
  // Ci-dessous on ne peut afficher qu'un seul resultat
  echo 'Nom :'.$data['nom']."\n";
  echo "\n";

  // On stock la requete SQL dans une variable
  $sql = 'SELECT * FROM liste_proprietaire';
  // On lance la requete
  $req = mysql_query($sql) or die ('Erreur SQL :'.$sql.":\n".mysql_error()."\n");
  // Tant qu'il y a des resultat a notre requete les affiches comme on veut
  while ($data = mysql_fetch_array($req)) {
    echo 'Nom :'.$data['nom']."\n";
    echo 'Tel :'.$data['telephone']."\n";
    echo "\n";
  }
  // On libere le memoire
  mysql_free_result ($req);

  // On ferme la connexion SQL
  mysql_close ();
?>

</sxh> Voir sql pour connaitre les requêtes SQL

informatique/programmation/php/database.1319980142.txt.gz · Dernière modification : (modification externe)