PHP Data Object
Mehdi EL KRARI
●

Doctorant à l'université Mohammed V – Agdal
–

●

#Métaheuristiques #TSP #ILS #VNS

Freelancer WEB

elkrari

2 mars 2014

PHP Data Object

2
Se connecter à MySQL avec PDO
●

Paramètres requis : (exemple)
–

Le nom de l'hôte : (localhost)

–

La BD : (etudiants)

–

Login : (admin)

–

Mot de passe : (monmdp)

<?php
$bdd = new PDO('mysql:host=localhost;dbname=ecole', 'admin', 'monmdp');
?>
2 mars 2014

PHP Data Object

3
table 'etudiants'
●

matricule

●

nom

●

prenom

●

moyenne

2 mars 2014

PHP Data Object

4
Récupérer les données
●

Faire une requête :

<?php
$reponse = $bdd->query('SELECT * FROM etudiants');
?>
●

Afficher le résultat d'une requête

<?php
$donnees = $reponse->fetch();
?>

2 mars 2014

PHP Data Object

5
Récupérer les données
<?php
// On se connecte à MySQL
$reponse = $bdd->query('SELECT * FROM etudiants');
while ($donnees = $reponse->fetch())
{
?>
<p>
<strong>Etudiant</strong> : <?php echo $donnees['nom']; ?><br />
Le matricule de l'étudiant est : <?php echo $donnees['matricule']; ?>, et il a <?php echo
$donnees['moyenne']; ?> de moyenne !<br />
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
?>
2 mars 2014

PHP Data Object

6
Des requêtes en fonction de variables
●

Concaténer une variable dans une requête :

<?php
$reponse = $bdd->query('SELECT nom FROM etudiants WHERE nom='FAMILLE'');
?>
<?php
$reponse = $bdd->query('SELECT nom FROM etudiants WHERE nom='' . $_GET['nom'] . ''');
?>
●

OU

Les requêtes préparées

<?php
$req = $bdd->prepare('SELECT * FROM etudiants WHERE nom = ? AND prenom = ?');
$req->execute(array($_GET['nom'], $_GET['prenom']));
?>
<?php
$req = $bdd->prepare('SELECT nom, prenom FROM etudiants WHERE nom = :lenom AND prix = :leprenom');
$req->execute(array('lenom' => $_GET['nom'], 'leprenom' => $_GET['prenom']));
?>

2 mars 2014

PHP Data Object

7
Des requêtes en fonction de variables
<?php
// On se connecte à MySQL
$req = $bdd->prepare('SELECT nom, prenom FROM etudiants WHERE nom = ? AND prenom = ? ');
$req->execute(array($_GET['nom'], $_GET['prenom']));
echo '<ul>';
while ($donnees = $req->fetch())
{
echo '<li>' . $donnees['nom'] . ' (' . $donnees['prenom'] . ' )</li>';
}
echo '</ul>';
$req->closeCursor();
?>
2 mars 2014

PHP Data Object

8
Ajouter des données (INSERT)
<?php
$bdd->exec('INSERT INTO etudiants(nom, prenom, matricule, moyenne)
VALUES('FAMILLE', 'Prenom', 4295, 50.96)');
?>
●

Requête préparée :

<?php
$req = $bdd->prepare('INSERT INTO etudiants(nom, prenom, matricule, moyenne)
VALUES(:lenom,:leprenom,:mat,:moy)');
$req->execute(array(
'lenom' => $nom,
'leprenom' => $prenom,
'mat' => $matricule,
'moy' => $moyenne,
));
?>
2 mars 2014

PHP Data Object

9
Modifier des données (UPDATE)
<?php
$bdd->exec('UPDATE etudiants SET nom = 'FAMILLE' WHERE matricule = 9250');
//cet appel renvoie le nombre de lignes modifiées
$nb_modifs = $bdd->exec('UPDATE etudiants SET nom = 'FAMILLE' WHERE matricule = 1526');
echo $nb_modifs . ' entrées ont été modifiées !';
?>
●

Requête préparée :

<?php
$req = $bdd->prepare('UPDATE etudiants SET nom = :lenom, moyenne = :moy WHERE matricule = :mat');
$req->execute(array(
'lenom' => $nom,
'moy' => $moyenne,
'mat' => $matricule,
));
?>
2 mars 2014

PHP Data Object

10
Effacer des données (DELETE)
<?php
$bdd->exec('DELETE FROM etudiants WHERE matricule = 9250');
//cet appel renvoie le nombre de lignes modifiées
$nb_modifs = $bdd->exec('DELETE FROM etudiants WHERE matricule = 1526');
echo $nb_modifs . ' entrées ont été supprimées !';
?>
●

Requête préparée :

<?php
$req = $bdd->prepare('DELETE FROM etudiants WHERE matricule = :mat');
$req->execute(array(
'mat' => $matricule,
));
?>

2 mars 2014

PHP Data Object

11

Php Data Object

  • 1.
  • 2.
    Mehdi EL KRARI ● Doctorantà l'université Mohammed V – Agdal – ● #Métaheuristiques #TSP #ILS #VNS Freelancer WEB elkrari 2 mars 2014 PHP Data Object 2
  • 3.
    Se connecter àMySQL avec PDO ● Paramètres requis : (exemple) – Le nom de l'hôte : (localhost) – La BD : (etudiants) – Login : (admin) – Mot de passe : (monmdp) <?php $bdd = new PDO('mysql:host=localhost;dbname=ecole', 'admin', 'monmdp'); ?> 2 mars 2014 PHP Data Object 3
  • 4.
  • 5.
    Récupérer les données ● Faireune requête : <?php $reponse = $bdd->query('SELECT * FROM etudiants'); ?> ● Afficher le résultat d'une requête <?php $donnees = $reponse->fetch(); ?> 2 mars 2014 PHP Data Object 5
  • 6.
    Récupérer les données <?php //On se connecte à MySQL $reponse = $bdd->query('SELECT * FROM etudiants'); while ($donnees = $reponse->fetch()) { ?> <p> <strong>Etudiant</strong> : <?php echo $donnees['nom']; ?><br /> Le matricule de l'étudiant est : <?php echo $donnees['matricule']; ?>, et il a <?php echo $donnees['moyenne']; ?> de moyenne !<br /> <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?> 2 mars 2014 PHP Data Object 6
  • 7.
    Des requêtes enfonction de variables ● Concaténer une variable dans une requête : <?php $reponse = $bdd->query('SELECT nom FROM etudiants WHERE nom='FAMILLE''); ?> <?php $reponse = $bdd->query('SELECT nom FROM etudiants WHERE nom='' . $_GET['nom'] . '''); ?> ● OU Les requêtes préparées <?php $req = $bdd->prepare('SELECT * FROM etudiants WHERE nom = ? AND prenom = ?'); $req->execute(array($_GET['nom'], $_GET['prenom'])); ?> <?php $req = $bdd->prepare('SELECT nom, prenom FROM etudiants WHERE nom = :lenom AND prix = :leprenom'); $req->execute(array('lenom' => $_GET['nom'], 'leprenom' => $_GET['prenom'])); ?> 2 mars 2014 PHP Data Object 7
  • 8.
    Des requêtes enfonction de variables <?php // On se connecte à MySQL $req = $bdd->prepare('SELECT nom, prenom FROM etudiants WHERE nom = ? AND prenom = ? '); $req->execute(array($_GET['nom'], $_GET['prenom'])); echo '<ul>'; while ($donnees = $req->fetch()) { echo '<li>' . $donnees['nom'] . ' (' . $donnees['prenom'] . ' )</li>'; } echo '</ul>'; $req->closeCursor(); ?> 2 mars 2014 PHP Data Object 8
  • 9.
    Ajouter des données(INSERT) <?php $bdd->exec('INSERT INTO etudiants(nom, prenom, matricule, moyenne) VALUES('FAMILLE', 'Prenom', 4295, 50.96)'); ?> ● Requête préparée : <?php $req = $bdd->prepare('INSERT INTO etudiants(nom, prenom, matricule, moyenne) VALUES(:lenom,:leprenom,:mat,:moy)'); $req->execute(array( 'lenom' => $nom, 'leprenom' => $prenom, 'mat' => $matricule, 'moy' => $moyenne, )); ?> 2 mars 2014 PHP Data Object 9
  • 10.
    Modifier des données(UPDATE) <?php $bdd->exec('UPDATE etudiants SET nom = 'FAMILLE' WHERE matricule = 9250'); //cet appel renvoie le nombre de lignes modifiées $nb_modifs = $bdd->exec('UPDATE etudiants SET nom = 'FAMILLE' WHERE matricule = 1526'); echo $nb_modifs . ' entrées ont été modifiées !'; ?> ● Requête préparée : <?php $req = $bdd->prepare('UPDATE etudiants SET nom = :lenom, moyenne = :moy WHERE matricule = :mat'); $req->execute(array( 'lenom' => $nom, 'moy' => $moyenne, 'mat' => $matricule, )); ?> 2 mars 2014 PHP Data Object 10
  • 11.
    Effacer des données(DELETE) <?php $bdd->exec('DELETE FROM etudiants WHERE matricule = 9250'); //cet appel renvoie le nombre de lignes modifiées $nb_modifs = $bdd->exec('DELETE FROM etudiants WHERE matricule = 1526'); echo $nb_modifs . ' entrées ont été supprimées !'; ?> ● Requête préparée : <?php $req = $bdd->prepare('DELETE FROM etudiants WHERE matricule = :mat'); $req->execute(array( 'mat' => $matricule, )); ?> 2 mars 2014 PHP Data Object 11