SlideShare une entreprise Scribd logo
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

Contenu connexe

PDF
Hello mongo
PPT
Php mysql cours
 
PDF
Php 2 - Approfondissement MySQL, PDO et MVC
PPTX
Introduction au Jquery
PDF
Cours php & Mysql - 2éme partie
PDF
Programmation orientée objet en PHP 5
PDF
Mongodb102
PDF
Mpdf 3
Hello mongo
Php mysql cours
 
Php 2 - Approfondissement MySQL, PDO et MVC
Introduction au Jquery
Cours php & Mysql - 2éme partie
Programmation orientée objet en PHP 5
Mongodb102
Mpdf 3

Tendances (19)

PDF
Mpdf 11
PDF
Trucs et astuces PHP et MySQL
PDF
Mpdf 8
PDF
Mpdf 5
PDF
Mpdf 4
PPTX
JDBC Java
PDF
jQuery
PDF
Mpdf 7
PDF
Mpdf 9
PDF
Indexation
PDF
Mpdf 2
PDF
Mpdf 10
PDF
PDF
Mpdf 12
PDF
Introduction a jQuery
PDF
Cours php & Mysql - 4éme partie
PDF
Cours php & Mysql - 1ére partie
PPT
Php4 Mysql
PPT
Présentation jQuery pour débutant
Mpdf 11
Trucs et astuces PHP et MySQL
Mpdf 8
Mpdf 5
Mpdf 4
JDBC Java
jQuery
Mpdf 7
Mpdf 9
Indexation
Mpdf 2
Mpdf 10
Mpdf 12
Introduction a jQuery
Cours php & Mysql - 4éme partie
Cours php & Mysql - 1ére partie
Php4 Mysql
Présentation jQuery pour débutant
Publicité

En vedette (20)

PDF
052516 OCW11 and 12
DOCX
Jxhakim industrial 08'2016 ( updated )
PDF
BBabcock - Research Summary - Coaching and Chronic Conditions - May 2013 v3
PDF
2n Batxi Tema 3: Aplicacions de la derivada
DOCX
Psychology and the Buddha
DOCX
Herramientas tecnologicas para el aula
PDF
Plantilla fase1 103380_13
PDF
Php07 formation-php-avance-programmation-orientee-objet-pdo
PDF
Door prizes 1
PDF
APPLICATION OF THE COMMUNICATIVE APPROACH TO THE TEACHING OF COSTA RICAN INDI...
PDF
Python avancé : Ensemble, dictionnaire et base de données
PPT
La Exploración del Cerebro Humano desde las Neurociencias y Educación en el P...
PPTX
PPT lesiones en la cabeza - Robert Alvarez
PPTX
Estadística jornada matemàtica
PDF
A Descriptive Study of the Non Significant Curricular Accomodations in Englis...
DOCX
Ecuaciones e inecuaciones 2º
PPTX
Análisis de los Factores Institucionales y Familiares que Inciden en el Bajo ...
PDF
University of Utah Health Exceptional Value Annual Report 2015
PDF
imagen
PDF
Programacion en php atavez de ejemplos
052516 OCW11 and 12
Jxhakim industrial 08'2016 ( updated )
BBabcock - Research Summary - Coaching and Chronic Conditions - May 2013 v3
2n Batxi Tema 3: Aplicacions de la derivada
Psychology and the Buddha
Herramientas tecnologicas para el aula
Plantilla fase1 103380_13
Php07 formation-php-avance-programmation-orientee-objet-pdo
Door prizes 1
APPLICATION OF THE COMMUNICATIVE APPROACH TO THE TEACHING OF COSTA RICAN INDI...
Python avancé : Ensemble, dictionnaire et base de données
La Exploración del Cerebro Humano desde las Neurociencias y Educación en el P...
PPT lesiones en la cabeza - Robert Alvarez
Estadística jornada matemàtica
A Descriptive Study of the Non Significant Curricular Accomodations in Englis...
Ecuaciones e inecuaciones 2º
Análisis de los Factores Institucionales y Familiares que Inciden en el Bajo ...
University of Utah Health Exceptional Value Annual Report 2015
imagen
Programacion en php atavez de ejemplos
Publicité

Similaire à Php Data Object (20)

PPT
Petit Aide-mémoire pour la programmation PHP .ppt
PPT
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PDF
presentationatelierphpprt2-140314143938-phpapp02.pdf
PPTX
La 2ème partie de la présentation PHP
PDF
Présentation de DBAL en PHP
PDF
Présentation de DBAL en PHP (Nantes)
PDF
Application web php5 html5 css3 bootstrap
PPTX
php2 : formulaire-session-PDO
PDF
Développement Web- PHP (partie II).pdf
PPTX
PDF
PHP_Essentials.pdfPHP_Essentials.pdfPHP_Essentials.pdf
PPTX
Pro_Langage_PHP_LES_BASES_DE_DONNEES.pptx
PPT
Cours Php
PPT
Cours Php
PPT
Php cours
PPT
Les principes de base de PHP
PDF
Mpdf 6
PDF
PHP #6 : mysql
PDF
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
PPTX
Petit Aide-mémoire pour la programmation PHP .ppt
PHP_partie_.ppt,php_cours_mathematiques_informatiques
presentationatelierphpprt2-140314143938-phpapp02.pdf
La 2ème partie de la présentation PHP
Présentation de DBAL en PHP
Présentation de DBAL en PHP (Nantes)
Application web php5 html5 css3 bootstrap
php2 : formulaire-session-PDO
Développement Web- PHP (partie II).pdf
PHP_Essentials.pdfPHP_Essentials.pdfPHP_Essentials.pdf
Pro_Langage_PHP_LES_BASES_DE_DONNEES.pptx
Cours Php
Cours Php
Php cours
Les principes de base de PHP
Mpdf 6
PHP #6 : mysql
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie

Php Data Object

  • 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
  • 5. 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
  • 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 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
  • 8. 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
  • 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