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

Tendances

Mpdf 11
Mpdf 11Mpdf 11
Mpdf 11
Moez Moezm
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
Damien Seguy
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
Moez Moezm
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
Moez Moezm
 
Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
Moez Moezm
 
JDBC Java
JDBC JavaJDBC Java
JDBC Java
Sofien AZOUZI
 
jQuery
jQueryjQuery
jQuery
Franck SIMON
 
Mpdf 7
Mpdf 7Mpdf 7
Mpdf 7
Moez Moezm
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
Moez Moezm
 
Indexation
IndexationIndexation
Indexation
Ines Slimene
 
Mpdf 2
Mpdf 2Mpdf 2
Mpdf 2
Moez Moezm
 
Mpdf 10
Mpdf 10Mpdf 10
Mpdf 10
Moez Moezm
 
Crud
CrudCrud
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
Moez Moezm
 
Introduction a jQuery
Introduction a jQueryIntroduction a jQuery
Introduction a jQuery
Clément Delmas
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
kadzaki
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
kadzaki
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
HamdiBaklouti
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutant
Stanislas Chollet
 

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

052516 OCW11 and 12
052516 OCW11 and 12052516 OCW11 and 12
052516 OCW11 and 12
UPANOG @KATHAKO
 
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 v3
Barbara 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 derivada
Albert Sola
 
Psychology and the Buddha
Psychology and the BuddhaPsychology and the Buddha
Psychology and the Buddha
Rodger 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_13
lcate
 
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ées
ECAM 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 Alvarez
robert280395
 
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 2015
University of Utah
 
imagen
imagenimagen
imagen
Katy Parra
 
Programacion en php atavez de ejemplos
Programacion en php atavez de ejemplosProgramacion en php atavez de ejemplos
Programacion en php atavez de ejemplos
Robert 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 PHP
Mickael 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 Java
Mehdi EL KRARI
 
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
Jean-Marie Renouard
 
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-PDO
Abdoulaye Dieng
 
Le client HTTP PHP5
Le client HTTP PHP5Le client HTTP PHP5
Le client HTTP PHP5
Jean-Marie Renouard
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
Bassem 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.docx
VincentBweka
 
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairieCours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
afdoumbia
 
Gestion de formulaires en PHP
Gestion de formulaires en PHPGestion de formulaires en PHP
Gestion de formulaires en PHP
Jean-Marie Renouard
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
Jean-Marie Renouard
 
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
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
Jean-Marie Renouard
 
Drupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter DrupalDrupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter Drupal
Artusamak
 
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
Aurelien Navarre
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7
neuros
 
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 partie
kadzaki
 

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
 
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairieCours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
Cours PHP PDO intégrale afin de mieux appréhender la nouvelle librairie
 
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
 

Dernier

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
AlbertSmithTambwe
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 

Dernier (9)

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 

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