SlideShare une entreprise Scribd logo

Php Data Object

Petit tutoriel pour connecter votre application PHP à une base de données MySQL à l'aide de PDO

1  sur  11
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
Publicité

Recommandé

Php mysql cours
Php mysql coursPhp mysql cours
Php mysql courszan
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partiekadzaki
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Kristen Le Liboux
 

Contenu connexe

Tendances (19)

Mpdf 11
Mpdf 11Mpdf 11
Mpdf 11
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
 
Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
 
JDBC Java
JDBC JavaJDBC Java
JDBC Java
 
jQuery
jQueryjQuery
jQuery
 
Mpdf 7
Mpdf 7Mpdf 7
Mpdf 7
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
 
Indexation
IndexationIndexation
Indexation
 
Mpdf 2
Mpdf 2Mpdf 2
Mpdf 2
 
Mpdf 10
Mpdf 10Mpdf 10
Mpdf 10
 
Crud
CrudCrud
Crud
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
 
Introduction a jQuery
Introduction a jQueryIntroduction a jQuery
Introduction a jQuery
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutant
 

En vedette

Jxhakim industrial 08'2016 ( updated )
Jxhakim industrial  08'2016 ( updated )Jxhakim industrial  08'2016 ( updated )
Jxhakim industrial 08'2016 ( updated )Jehanzeb Hakim
 
BBabcock - Research Summary - Coaching and Chronic Conditions - May 2013 v3
BBabcock - Research Summary - Coaching and Chronic Conditions - May 2013 v3BBabcock - Research Summary - Coaching and Chronic Conditions - May 2013 v3
BBabcock - Research Summary - Coaching and Chronic Conditions - May 2013 v3Barbara Babcock, ACC
 
2n Batxi Tema 3: Aplicacions de la derivada
2n Batxi Tema 3: Aplicacions de la derivada2n Batxi Tema 3: Aplicacions de la derivada
2n Batxi Tema 3: Aplicacions de la derivadaAlbert Sola
 
Psychology and the Buddha
Psychology and the BuddhaPsychology and the Buddha
Psychology and the BuddhaRodger Ricketts
 
Herramientas tecnologicas para el aula
Herramientas tecnologicas para el aula Herramientas tecnologicas para el aula
Herramientas tecnologicas para el aula angiegonzalez96
 
Plantilla fase1 103380_13
Plantilla fase1 103380_13Plantilla fase1 103380_13
Plantilla fase1 103380_13lcate
 
Php07 formation-php-avance-programmation-orientee-objet-pdo
Php07 formation-php-avance-programmation-orientee-objet-pdoPhp07 formation-php-avance-programmation-orientee-objet-pdo
Php07 formation-php-avance-programmation-orientee-objet-pdoCERTyou Formation
 
APPLICATION OF THE COMMUNICATIVE APPROACH TO THE TEACHING OF COSTA RICAN INDI...
APPLICATION OF THE COMMUNICATIVE APPROACH TO THE TEACHING OF COSTA RICAN INDI...APPLICATION OF THE COMMUNICATIVE APPROACH TO THE TEACHING OF COSTA RICAN INDI...
APPLICATION OF THE COMMUNICATIVE APPROACH TO THE TEACHING OF COSTA RICAN INDI...UNIVERSIDAD MAGISTER (Sitio Oficial)
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
La Exploración del Cerebro Humano desde las Neurociencias y Educación en el P...
La Exploración del Cerebro Humano desde las Neurociencias y Educación en el P...La Exploración del Cerebro Humano desde las Neurociencias y Educación en el P...
La Exploración del Cerebro Humano desde las Neurociencias y Educación en el P...UNIVERSIDAD MAGISTER (Sitio Oficial)
 
PPT lesiones en la cabeza - Robert Alvarez
PPT lesiones en la cabeza - Robert AlvarezPPT lesiones en la cabeza - Robert Alvarez
PPT lesiones en la cabeza - Robert Alvarezrobert280395
 
Estadística jornada matemàtica
Estadística jornada matemàtica Estadística jornada matemàtica
Estadística jornada matemàtica cemporda
 
A Descriptive Study of the Non Significant Curricular Accomodations in Englis...
A Descriptive Study of the Non Significant Curricular Accomodations in Englis...A Descriptive Study of the Non Significant Curricular Accomodations in Englis...
A Descriptive Study of the Non Significant Curricular Accomodations in Englis...UNIVERSIDAD MAGISTER (Sitio Oficial)
 
Ecuaciones e inecuaciones 2º
Ecuaciones e inecuaciones 2ºEcuaciones e inecuaciones 2º
Ecuaciones e inecuaciones 2ºflor2510
 
Análisis de los Factores Institucionales y Familiares que Inciden en el Bajo ...
Análisis de los Factores Institucionales y Familiares que Inciden en el Bajo ...Análisis de los Factores Institucionales y Familiares que Inciden en el Bajo ...
Análisis de los Factores Institucionales y Familiares que Inciden en el Bajo ...UNIVERSIDAD MAGISTER (Sitio Oficial)
 
University of Utah Health Exceptional Value Annual Report 2015
University of Utah Health Exceptional Value Annual Report 2015University of Utah Health Exceptional Value Annual Report 2015
University of Utah Health Exceptional Value Annual Report 2015University of Utah
 
Programacion en php atavez de ejemplos
Programacion en php atavez de ejemplosProgramacion en php atavez de ejemplos
Programacion en php atavez de ejemplosRobert Rodriguez
 

En vedette (20)

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

Similaire à Php Data Object

Présentation de DBAL en PHP
Présentation de DBAL en PHPPrésentation de DBAL en PHP
Présentation de DBAL en PHPMickael Perraud
 
PHP 5 pour les développeurs Java
PHP 5 pour les développeurs JavaPHP 5 pour les développeurs Java
PHP 5 pour les développeurs JavaMehdi EL KRARI
 
Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Mickael Perraud
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapBassem ABCHA
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java Youness Boukouchi
 
démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docxVincentBweka
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Mickael Perraud
 
Drupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter DrupalDrupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter DrupalArtusamak
 
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7neuros
 
Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4🏁 Pierre-Henry Soria 💡
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partiekadzaki
 
Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017Christophe Villeneuve
 

Similaire à Php Data Object (20)

Présentation de DBAL en PHP
Présentation de DBAL en PHPPrésentation de DBAL en PHP
Présentation de DBAL en PHP
 
PHP 5 pour les développeurs Java
PHP 5 pour les développeurs JavaPHP 5 pour les développeurs Java
PHP 5 pour les développeurs Java
 
Client base de données en PHP5
Client base de données en PHP5Client base de données en PHP5
Client base de données en PHP5
 
Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Le client HTTP PHP5
Le client HTTP PHP5Le client HTTP PHP5
Le client HTTP PHP5
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java
 
démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docx
 
Gestion de formulaires en PHP
Gestion de formulaires en PHPGestion de formulaires en PHP
Gestion de formulaires en PHP
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
 
Drupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter DrupalDrupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter Drupal
 
Chap2
Chap2Chap2
Chap2
 
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7
 
Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
 
Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017
 

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