$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
* //Exemple 2// : Même connexion avec la gestion des d'erreurs
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage()); // En cas d'erreur, on affiche un message et on arrête tout
}
=== 2.2 Envoi d'une requête ===
$nb=$bdd->exec('UPDATE jeux_video SET possesseur="Laurent" WHERE ID="1"');
* //Résultat//
{{ :web:ex2table.png?nolink |}}
**Cas 2** - Si la requête **retourne un résultat** (SELECT, etc.), on utilise la méthode //query()//.
* //Syntaxe// \\ //object// nomConnect **->** query(//string// requete) \\ nomResultat = nomConnect **->** query(//string// requete)
$reponse = $bdd->query('SELECT * FROM jeux_video WHERE console="NES"');
* //Résultats // issus du traitement décrit au paragraphe suivant
* Super Mario Bros - Laurent - 4
* The Rocketeer - Michel - 2
* Ice Hockey - Michel - 7
\\
=== 2.3 Traitement du résultat de la requête ===
* **Insertion, suppression, mise à jour**
echo " $nb ligne(s) modifiée(s)
"; // Résultat : 1 ligne(s) modifiée(s)
$nb contient le nombre de lignes modifiées dans l'exemple de cas 1 précédent. Cette valeur pourra être testée pour valider la requête. \\
\\
* **Résultat d'une commande SELECT**
Pour les opérations d'insertion, de suppression ou de mise à jour des données dans une base, il est utile de vérifier si la requête a bien été exécutée.
while ($donnees = $reponse->fetch()) {
echo '' . $donnees['nom'].' - '.$donnees['possesseur'].' - '.$donnees['prix'].'
';
}
* //Résultats//
* Super Mario Bros - Laurent - 4
* The Rocketeer - Michel - 2
* Ice Hockey - Michel - 7
=== 2.4 Fermeture de la connexion ===
$bdd=null;
==== Résumé ====
* Pour dialoguer avec MySQL depuis PHP, on fait appel à l'extension PDO de PHP.
* Avant de dialoguer avec MySQL, il faut s'y connecter. On a besoin de l'adresse IP de la machine où se trouve MySQL, du nom de la base de données ainsi que d'un login et d'un mot de passe.
* Il faut faire une boucle en PHP pour récupérer ligne par ligne les données renvoyées par MySQL.