SlideShare uma empresa Scribd logo
1 de 20
Introduction
Introduction
Base de Données : ensemble de données structurées représentant une réalité perçue
Elles permettent de stocker de manière structurée diverses données et de facilement les
manipuler
La mise en œuvre des bases de données et leur manipulation se font grâce à un SGBD
Exemple de SGBD : MySQL, PostgreSQL, SQLlite …etc.
Introduction
Une base de données peut être vue comme suit:
◦ La « base », le tout qui va contenir les données, peut être assimilée à un dossier ou encore un
classeur
◦ Dans ce classeur, un certain nombre de fiches. Chaque fiche contient des données relatives à
un certain « objet ». Exemple : les données des utilisateurs (pseudonyme, mot de
passe, email …etc.). On appellera ces fiches : « tables »
◦ Chaque table se présente sous forme de tableau. Les colonnes seront appelées « champs » et
contiendront chacune une donnée précise (exemple: le pseudonyme). Les lignes seront
appelées « entrées »
Introduction
Table : Utilisateurs
Numéro Pseudonyme Mot de Passe Email
0001 TOto 12345 toto@live.com
0002 AyAdeXDlol 12345 trololol@yahoo.com
… … … …
Exemple:
Introduction
Le SGBD est le seul à pouvoir accéder à la base de données et le seul à pouvoir comprendre son
contenu.
Il faut donc impérativement passer par le SGBD pour pouvoir utiliser la base de données.
Pour se faire, on va gentiment le lui demander via ce qu’on appelle des « requêtes ». Pour qu’il
puisse comprendre, elles seront exprimées en utilisant un certain langage : le langage SQL
(Structured Query Language)
Les premiers pas
NOTE : ON TRAVAILLE SOUS WAMP-SERVER
Créer une base de données
Pour cela on utilisera PhpMyAdmin.
C’est un ensemble de pages en Php, offertes par WAMP server pour faciliter la
création d’une base de données.
Comment faire? suivez le guide.
Une clé primaire ??
Une clé primaire est ce qui va permettre d’identifier de manière unique une entrée dans une
table de la base de données.
Toute table doit obligatoirement avoir une clé primaire.
La clé primaire est exprimée grâce à un ou plusieurs champs de la table en question.
En général, on utilisera le champ « id » avec l’option « auto-increment ».
Quelques opérations avec
PhpMyAdmin
Modifier une table
Insérer dans une table
Supprimer une entrée d’une table
Vider une table
Ajouter une table
Supprimer une table
Et MySQL dans tout
ça?
COMMENT RÉCUPÉRER DES INFORMATIONS DEPUIS LA
BDD
Avant d’aller plus loin
Les SGBD ne sont pas directement accessibles : il faut passer par un intermédiaire comme PHP
( et puis même dans le cas contraire ça ne changerai rien)
Pour pouvoir utiliser une base de données, il faut d’abord s’y connecter. On aura besoin pour
cela de l’adresse du serveur où elle se trouve, d’un login et d’un mot de passe.
En Php, l’utilisation des bases de données se fait en faisant appel à des fonctions ayant :
Avant d’aller plus loin
◦ L'extension mysql_ : ce sont des fonctions qui permettent d'accéder à une base de données
MySQL. Leur nom commence toujours par mysql_.
◦ L'extension mysqli_ : ce sont des fonctions améliorées d'accès à MySQL. Elles proposent plus
de fonctionnalités et sont plus à jour.
◦ L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel type de base
de données. On peut donc l'utiliser pour se connecter aussi bien à MySQL que PostgreSQL ou
Oracle.
REMARQUE : Pour notre part on utilisera mysql_ car plus simple pour commencer
Se connecter à la base de données
On utilisera pour cela la fonction php :
◦ Server : désigne le nom du serveur
◦ Login : le login qui permet d’accéder à la base de données
◦ Password : le mot de passe pour se connecter
Note : les paramètres sont tous des chaines de caractères
<? php
mysql_connect(server , login , password); // établir la connexion
mysql_select_db(dbname); // spécifier la base de données
?>
Récupérer des données
Pour récupérer des données depuis la base de données, on utilisera la requête SQL « SELECT »
Elle se présente sous la forme suivante :
SELECT « champs » FROM « table » « clause de selection »
La partie en souligné est optionnelle. Elle permet de filtrer les résultats
« champs » et « table » seront respectivement remplacés par les noms des champs à
récupérer et celui de la table depuis laquelle les récupérer
Pour pouvoir utiliser cette requête on fera appel à la fonction Php
(requête est une chaine de caractères contenant la requête SQL )
<? php
mysql_query(requête);
?>
Récupérer des données : les clauses
de sélection
WHERE
◦ Permet de ne sélectionner que les entrées répondant à un certain critère
◦ Exemple : SELECT * FROM utilisateurs WHERE age > 20
◦ Les critères de sélection suivant la clause WHERE sont des conditions pouvant être exprimées
grâce à des opérateurs logiques (AND , OR) et des opérateurs de comparaison
ORDER BY
◦ Permet d’ordonner les résultats obtenus selon la valeur d’un champ spécifique
◦ Exemple : SELECT * FROM utilisateurs ORDER BY age
◦ On peut indiquer que l’ordre doit être décroissant grâce au mot clé DESC que
l’on rajoute à la fin de la requête
Récupérer des données : les clauses
de sélection
LIMIT
◦ Permet de limiter le nombre de résultats retournés
◦ Exemple : SELECT * FROM utilisateurs LIMIT 0, 10 n’affichera que les 10
premiers resultats
◦ LIMIT 0, 20 : affiche les vingt premières entrées ;
◦ LIMIT 5, 10 : affiche de la sixième à la quinzième entrée ;
◦ LIMIT 10, 2 : affiche la onzième et la douzième entrée.
REMARQUE :
Quand utilisés tous à la fois, les mots clé précédent doivent
apparaitre dans l’ordre : where, order by, limit. Il y aura erreur sinon.
Insérer des données
Pour insérer des données, il faudra utiliser la requête SQL « INSERT »
Elle se présente sous plusieurs formes :
INSERT INTO « table » VALUES « entrée »
INSERT INTO « table » VALUES ( « entrée1 » , « entrée2 » , « entrée3 » … )
INSERT INTO « table »(préciser les champs concernés) VALUES « entrée(seul les champs précisés) »
INSERT INTO « table » SET « champ1=valeur1 » , « champ2=valeur2 » , « champ3=valeur3 » …
REMARQUES
◦ « entrée » est de la forme : (valeur_champ1 , valeur_champ2 , …)
◦ Dans la 1ere forme, les champs doivent être ordonnés de la même façon que dans la table
◦ La 2eme forme permet d’insérer plusieurs entrées en une fois
◦ Les deux dernières formes ne permettent pas d’insertions multiples
Modifier des données
La modification se fait grâce à la requête SQL « UPDATE »
« UPDATE » a la forme suivante
UPDATE « table » SET « champ_x=valeur_x » , « champ_y=valeur_y » … WHERE « condition »
Entre SET et WHERE on va préciser quels champs de la table vont être modifier ainsi que les
nouvelles valeurs qui vont leur être affectées.
WHERE est indispensable car permet de préciser quelles entrées de la table vont être modifiées.
Elle s’utilise de la même manière qu’avec SELECT
Supprimer des données
La suppression s’opère avec la requête SQL « DELETE »
DELETE FROM « table » WHERE « condition »
« table » est la table dans laquelle l’on va supprimer des données
WHERE est encore fois indispensable car elle permet de préciser quelle entrées
doivent être supprimées. Elle s’utilise de la même façon qu’avec SELECT et
UPDATE .

Mais conteúdo relacionado

Mais procurados

Mais procurados (14)

SGBDR - MySQL
SGBDR - MySQLSGBDR - MySQL
SGBDR - MySQL
 
Mop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeMop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commande
 
Sql
SqlSql
Sql
 
Présentation de data.table
Présentation de data.tablePrésentation de data.table
Présentation de data.table
 
Interrogation des données
Interrogation des donnéesInterrogation des données
Interrogation des données
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
 
Jquery : les bases
Jquery : les basesJquery : les bases
Jquery : les bases
 
Formation access
Formation accessFormation access
Formation access
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Cours access
Cours accessCours access
Cours access
 
Resumeuiii
ResumeuiiiResumeuiii
Resumeuiii
 
Cours access
Cours accessCours access
Cours access
 
Interfaces controlesbasededonné
Interfaces controlesbasededonnéInterfaces controlesbasededonné
Interfaces controlesbasededonné
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
 

Destaque

ennaji ahmed base de donnees
ennaji ahmed base de donneesennaji ahmed base de donnees
ennaji ahmed base de donneesAHMED ENNAJI
 
Php02 formation-php-mysql-les-bases
Php02 formation-php-mysql-les-basesPhp02 formation-php-mysql-les-bases
Php02 formation-php-mysql-les-basesCERTyou Formation
 
JSS2014 – Automatiser l’administration SQL avec SMO et C#
JSS2014 – Automatiser l’administration SQL avec SMO et C#JSS2014 – Automatiser l’administration SQL avec SMO et C#
JSS2014 – Automatiser l’administration SQL avec SMO et C#GUSS
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de donnéesAdam CH
 
Concevez votre-site-web-avec-php-et-mysql
Concevez votre-site-web-avec-php-et-mysqlConcevez votre-site-web-avec-php-et-mysql
Concevez votre-site-web-avec-php-et-mysqlKarima Rakima
 
Le langage plsql
Le langage plsqlLe langage plsql
Le langage plsqlkati_f87
 
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql courszan
 
PHP MySQL database connections
PHP MySQL database connectionsPHP MySQL database connections
PHP MySQL database connectionsayman diab
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partiekadzaki
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de donnéesNosnos Nisrine
 

Destaque (20)

ennaji ahmed base de donnees
ennaji ahmed base de donneesennaji ahmed base de donnees
ennaji ahmed base de donnees
 
Php02 formation-php-mysql-les-bases
Php02 formation-php-mysql-les-basesPhp02 formation-php-mysql-les-bases
Php02 formation-php-mysql-les-bases
 
JSS2014 – Automatiser l’administration SQL avec SMO et C#
JSS2014 – Automatiser l’administration SQL avec SMO et C#JSS2014 – Automatiser l’administration SQL avec SMO et C#
JSS2014 – Automatiser l’administration SQL avec SMO et C#
 
SQL -PHP Tutorial
SQL -PHP TutorialSQL -PHP Tutorial
SQL -PHP Tutorial
 
Introduction à JPA (Java Persistence API )
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de données
 
Mysql
MysqlMysql
Mysql
 
Ado.net database access
Ado.net database accessAdo.net database access
Ado.net database access
 
Concevez votre-site-web-avec-php-et-mysql
Concevez votre-site-web-avec-php-et-mysqlConcevez votre-site-web-avec-php-et-mysql
Concevez votre-site-web-avec-php-et-mysql
 
Le langage plsql
Le langage plsqlLe langage plsql
Le langage plsql
 
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
 
English for Beginners
English for BeginnersEnglish for Beginners
English for Beginners
 
Java collection
Java collection Java collection
Java collection
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql cours
 
PHP MySQL database connections
PHP MySQL database connectionsPHP MySQL database connections
PHP MySQL database connections
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de données
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
 

Semelhante a La 2ème partie de la présentation PHP

Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants SmartnSkilled
 
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfresume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfFootballLovers9
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sqlHanfi Akram
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxsalmachtioui1
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3PGambette
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database ConnectivityKorteby Farouk
 
Projet Bases de données avancées Multimédia.
Projet Bases de données  avancées Multimédia.Projet Bases de données  avancées Multimédia.
Projet Bases de données avancées Multimédia.emnahkiri1
 
Tpdba1
Tpdba1Tpdba1
Tpdba1infcom
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sqlHanfi Akram
 
1425583156389.pptx
1425583156389.pptx1425583156389.pptx
1425583156389.pptxtirike6016
 

Semelhante a La 2ème partie de la présentation PHP (20)

SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants
 
Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
 
Mpdf 3
Mpdf 3Mpdf 3
Mpdf 3
 
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfresume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
 
Php1
Php1Php1
Php1
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sql
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptx
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
Projet Bases de données avancées Multimédia.
Projet Bases de données  avancées Multimédia.Projet Bases de données  avancées Multimédia.
Projet Bases de données avancées Multimédia.
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
 
Tpdba1
Tpdba1Tpdba1
Tpdba1
 
Les05.ppt
Les05.pptLes05.ppt
Les05.ppt
 
Sql &amp; excel
Sql &amp; excelSql &amp; excel
Sql &amp; excel
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sql
 
Cours sql-sh-
Cours sql-sh-Cours sql-sh-
Cours sql-sh-
 
1425583156389.pptx
1425583156389.pptx1425583156389.pptx
1425583156389.pptx
 

Mais de Club Scientifique de l'ESI - CSE

"Introduction aux exploits et à la faille BufferOverflow"
"Introduction aux exploits et à la faille BufferOverflow""Introduction aux exploits et à la faille BufferOverflow"
"Introduction aux exploits et à la faille BufferOverflow"Club Scientifique de l'ESI - CSE
 
Conférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisationConférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisationClub Scientifique de l'ESI - CSE
 

Mais de Club Scientifique de l'ESI - CSE (20)

CSE Welcome Day 2015
CSE Welcome Day 2015CSE Welcome Day 2015
CSE Welcome Day 2015
 
Gazette de l'ESI #5
Gazette de l'ESI #5Gazette de l'ESI #5
Gazette de l'ESI #5
 
Atelier 1 Introduction aux Réseaux Informatiques
Atelier 1 Introduction aux Réseaux InformatiquesAtelier 1 Introduction aux Réseaux Informatiques
Atelier 1 Introduction aux Réseaux Informatiques
 
Gazette De L'ESI - N°3
Gazette De L'ESI - N°3Gazette De L'ESI - N°3
Gazette De L'ESI - N°3
 
Introduction à unity 3D
Introduction à unity 3DIntroduction à unity 3D
Introduction à unity 3D
 
Jeux video
Jeux videoJeux video
Jeux video
 
"Introduction aux exploits et à la faille BufferOverflow"
"Introduction aux exploits et à la faille BufferOverflow""Introduction aux exploits et à la faille BufferOverflow"
"Introduction aux exploits et à la faille BufferOverflow"
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 
Gazette de l'ESI - Edition 2, Décembre 2013
Gazette de l'ESI - Edition 2, Décembre 2013Gazette de l'ESI - Edition 2, Décembre 2013
Gazette de l'ESI - Edition 2, Décembre 2013
 
Présentation MotivationDay
Présentation MotivationDayPrésentation MotivationDay
Présentation MotivationDay
 
Conférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisationConférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisation
 
Section Developpement Mobile Atelier #1
Section Developpement Mobile Atelier #1Section Developpement Mobile Atelier #1
Section Developpement Mobile Atelier #1
 
Gazette de l'ESI - Edition 1, Novembre 2013.
Gazette de l'ESI - Edition 1, Novembre 2013.Gazette de l'ESI - Edition 1, Novembre 2013.
Gazette de l'ESI - Edition 1, Novembre 2013.
 
Atelier Section Sécurité
Atelier Section SécuritéAtelier Section Sécurité
Atelier Section Sécurité
 
Théorie d’esthétique - UX Day
Théorie d’esthétique - UX DayThéorie d’esthétique - UX Day
Théorie d’esthétique - UX Day
 
Natural User Interface - UX Day
Natural User Interface - UX DayNatural User Interface - UX Day
Natural User Interface - UX Day
 
Apprenez le jQuery
Apprenez le jQueryApprenez le jQuery
Apprenez le jQuery
 
Faire un scan du réseau avec NMAP
Faire un scan du réseau avec NMAPFaire un scan du réseau avec NMAP
Faire un scan du réseau avec NMAP
 
Neutraliser un Virus/Worm ‘RECYCLER’ manuellement
Neutraliser un Virus/Worm ‘RECYCLER’ manuellementNeutraliser un Virus/Worm ‘RECYCLER’ manuellement
Neutraliser un Virus/Worm ‘RECYCLER’ manuellement
 
Casser un mot de passe Windows
Casser un mot de passe WindowsCasser un mot de passe Windows
Casser un mot de passe Windows
 

La 2ème partie de la présentation PHP

  • 1.
  • 3. Introduction Base de Données : ensemble de données structurées représentant une réalité perçue Elles permettent de stocker de manière structurée diverses données et de facilement les manipuler La mise en œuvre des bases de données et leur manipulation se font grâce à un SGBD Exemple de SGBD : MySQL, PostgreSQL, SQLlite …etc.
  • 4. Introduction Une base de données peut être vue comme suit: ◦ La « base », le tout qui va contenir les données, peut être assimilée à un dossier ou encore un classeur ◦ Dans ce classeur, un certain nombre de fiches. Chaque fiche contient des données relatives à un certain « objet ». Exemple : les données des utilisateurs (pseudonyme, mot de passe, email …etc.). On appellera ces fiches : « tables » ◦ Chaque table se présente sous forme de tableau. Les colonnes seront appelées « champs » et contiendront chacune une donnée précise (exemple: le pseudonyme). Les lignes seront appelées « entrées »
  • 5. Introduction Table : Utilisateurs Numéro Pseudonyme Mot de Passe Email 0001 TOto 12345 toto@live.com 0002 AyAdeXDlol 12345 trololol@yahoo.com … … … … Exemple:
  • 6. Introduction Le SGBD est le seul à pouvoir accéder à la base de données et le seul à pouvoir comprendre son contenu. Il faut donc impérativement passer par le SGBD pour pouvoir utiliser la base de données. Pour se faire, on va gentiment le lui demander via ce qu’on appelle des « requêtes ». Pour qu’il puisse comprendre, elles seront exprimées en utilisant un certain langage : le langage SQL (Structured Query Language)
  • 7. Les premiers pas NOTE : ON TRAVAILLE SOUS WAMP-SERVER
  • 8. Créer une base de données Pour cela on utilisera PhpMyAdmin. C’est un ensemble de pages en Php, offertes par WAMP server pour faciliter la création d’une base de données. Comment faire? suivez le guide.
  • 9. Une clé primaire ?? Une clé primaire est ce qui va permettre d’identifier de manière unique une entrée dans une table de la base de données. Toute table doit obligatoirement avoir une clé primaire. La clé primaire est exprimée grâce à un ou plusieurs champs de la table en question. En général, on utilisera le champ « id » avec l’option « auto-increment ».
  • 10. Quelques opérations avec PhpMyAdmin Modifier une table Insérer dans une table Supprimer une entrée d’une table Vider une table Ajouter une table Supprimer une table
  • 11. Et MySQL dans tout ça? COMMENT RÉCUPÉRER DES INFORMATIONS DEPUIS LA BDD
  • 12. Avant d’aller plus loin Les SGBD ne sont pas directement accessibles : il faut passer par un intermédiaire comme PHP ( et puis même dans le cas contraire ça ne changerai rien) Pour pouvoir utiliser une base de données, il faut d’abord s’y connecter. On aura besoin pour cela de l’adresse du serveur où elle se trouve, d’un login et d’un mot de passe. En Php, l’utilisation des bases de données se fait en faisant appel à des fonctions ayant :
  • 13. Avant d’aller plus loin ◦ L'extension mysql_ : ce sont des fonctions qui permettent d'accéder à une base de données MySQL. Leur nom commence toujours par mysql_. ◦ L'extension mysqli_ : ce sont des fonctions améliorées d'accès à MySQL. Elles proposent plus de fonctionnalités et sont plus à jour. ◦ L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel type de base de données. On peut donc l'utiliser pour se connecter aussi bien à MySQL que PostgreSQL ou Oracle. REMARQUE : Pour notre part on utilisera mysql_ car plus simple pour commencer
  • 14. Se connecter à la base de données On utilisera pour cela la fonction php : ◦ Server : désigne le nom du serveur ◦ Login : le login qui permet d’accéder à la base de données ◦ Password : le mot de passe pour se connecter Note : les paramètres sont tous des chaines de caractères <? php mysql_connect(server , login , password); // établir la connexion mysql_select_db(dbname); // spécifier la base de données ?>
  • 15. Récupérer des données Pour récupérer des données depuis la base de données, on utilisera la requête SQL « SELECT » Elle se présente sous la forme suivante : SELECT « champs » FROM « table » « clause de selection » La partie en souligné est optionnelle. Elle permet de filtrer les résultats « champs » et « table » seront respectivement remplacés par les noms des champs à récupérer et celui de la table depuis laquelle les récupérer Pour pouvoir utiliser cette requête on fera appel à la fonction Php (requête est une chaine de caractères contenant la requête SQL ) <? php mysql_query(requête); ?>
  • 16. Récupérer des données : les clauses de sélection WHERE ◦ Permet de ne sélectionner que les entrées répondant à un certain critère ◦ Exemple : SELECT * FROM utilisateurs WHERE age > 20 ◦ Les critères de sélection suivant la clause WHERE sont des conditions pouvant être exprimées grâce à des opérateurs logiques (AND , OR) et des opérateurs de comparaison ORDER BY ◦ Permet d’ordonner les résultats obtenus selon la valeur d’un champ spécifique ◦ Exemple : SELECT * FROM utilisateurs ORDER BY age ◦ On peut indiquer que l’ordre doit être décroissant grâce au mot clé DESC que l’on rajoute à la fin de la requête
  • 17. Récupérer des données : les clauses de sélection LIMIT ◦ Permet de limiter le nombre de résultats retournés ◦ Exemple : SELECT * FROM utilisateurs LIMIT 0, 10 n’affichera que les 10 premiers resultats ◦ LIMIT 0, 20 : affiche les vingt premières entrées ; ◦ LIMIT 5, 10 : affiche de la sixième à la quinzième entrée ; ◦ LIMIT 10, 2 : affiche la onzième et la douzième entrée. REMARQUE : Quand utilisés tous à la fois, les mots clé précédent doivent apparaitre dans l’ordre : where, order by, limit. Il y aura erreur sinon.
  • 18. Insérer des données Pour insérer des données, il faudra utiliser la requête SQL « INSERT » Elle se présente sous plusieurs formes : INSERT INTO « table » VALUES « entrée » INSERT INTO « table » VALUES ( « entrée1 » , « entrée2 » , « entrée3 » … ) INSERT INTO « table »(préciser les champs concernés) VALUES « entrée(seul les champs précisés) » INSERT INTO « table » SET « champ1=valeur1 » , « champ2=valeur2 » , « champ3=valeur3 » … REMARQUES ◦ « entrée » est de la forme : (valeur_champ1 , valeur_champ2 , …) ◦ Dans la 1ere forme, les champs doivent être ordonnés de la même façon que dans la table ◦ La 2eme forme permet d’insérer plusieurs entrées en une fois ◦ Les deux dernières formes ne permettent pas d’insertions multiples
  • 19. Modifier des données La modification se fait grâce à la requête SQL « UPDATE » « UPDATE » a la forme suivante UPDATE « table » SET « champ_x=valeur_x » , « champ_y=valeur_y » … WHERE « condition » Entre SET et WHERE on va préciser quels champs de la table vont être modifier ainsi que les nouvelles valeurs qui vont leur être affectées. WHERE est indispensable car permet de préciser quelles entrées de la table vont être modifiées. Elle s’utilise de la même manière qu’avec SELECT
  • 20. Supprimer des données La suppression s’opère avec la requête SQL « DELETE » DELETE FROM « table » WHERE « condition » « table » est la table dans laquelle l’on va supprimer des données WHERE est encore fois indispensable car elle permet de préciser quelle entrées doivent être supprimées. Elle s’utilise de la même façon qu’avec SELECT et UPDATE .