PHP et Bases de Données
PHP et Bases de Données
© Pascal Buguet Imprimé le 15 juin 2017 Page 2
TABLE DES MATIERES
Chapitre 1 ACCES BD ............................................................................................................................. 4
1.1 Rappel sur les BDR ........................................................................................................................ 4
1.1.1 Un SGBDR ............................................................................................................................. 4
1.1.2 Principaux objets et principales actions d'une base de données .................................................. 6
1.1.3 PHP et les bases de données ................................................................................................... 7
1.1.4 La BD utilisée : son schéma .................................................................................................... 8
1.1.5 Script de création des tables ................................................................................................... 8
1.1.6 Scripts d'insertion de données ................................................................................................. 8
1.2 LECTURE D'UNE TABLE MySQL ....................................................................................................... 9
1.3 Le même avec affichage dynamique des colonnes .......................................................................... 11
1.4 Jointures .................................................................................................................................... 13
1.4.1 Equi-jointure ........................................................................................................................ 13
1.4.2 Jointure externe à gauche ..................................................................................................... 14
1.4.3 Jointure externe à droite ....................................................................................................... 14
1.4.4 Jointure multi-bases ............................................................................................................. 14
1.4.5 Affichage d'une jointure dans une table HTML ........................................................................ 15
Chapitre 2 GESTION DES ERREURS MYSQL ............................................................................................ 19
2.1 Prémisses ................................................................................................................................... 20
2.2 Codage ....................................................................................................................................... 20
2.3 Gestion personnaliséé des erreurs ................................................................................................. 22
Chapitre 3 MISES A JOUR DE LA BD ...................................................................................................... 24
3.1 Généralités sur les mises à jour .................................................................................................... 24
3.2 Insertion d'une nouvelle ville (Dynamique et Self) .......................................................................... 25
3.3 Inclusion des fonctions de connexion ............................................................................................ 28
3.4 Suppression d'une ville (Dynamique et Self) ................................................................................... 30
3.5 Gestion des transactions .............................................................................................................. 31
Chapitre 4 LES TABLES ET LES LISTES .................................................................................................. 33
4.1 Afficher une table dans une liste ................................................................................................... 33
4.2 Affichage générique d'une table dans une liste ............................................................................... 34
4.3 Saisie d'un client avec une liste déroulante pour les cp (Version 1) .................................................. 37
4.4 Saisie d'un client avec une liste déroulante pour les cp (Version 2) .................................................. 39
Chapitre 5 AUTHENTIFICATION ............................................................................................................ 43
5.1 L'inscription ................................................................................................................................ 44
5.2 Boîte de connexion ...................................................................................................................... 45
5.3 Déconnexion ............................................................................................................................... 46
5.4 Restriction de page ...................................................................................................................... 47
Chapitre 6 GESTION DES DATES ........................................................................................................... 48
6.1 Fonctions MySQL ......................................................................................................................... 48
6.2 Fonctions PHP ............................................................................................................................. 48
6.3 Scripts d'insertion ........................................................................................................................ 49
6.3.1 Script d'insertion de dates avec des fonctions MySQL .............................................................. 49
6.3.2 Script d'insertion de dates avec des fonctions PHP .................................................................. 50
6.4 Scripts de visualisation avec des fonctions date de MySQL .............................................................. 51
Chapitre 7 TRAITEMENTS GENERIQUES ................................................................................................. 52
7.1 Affichage d'une table sur plusieurs pages ...................................................................................... 52
7.1.1 Création de la table .............................................................................................................. 52
7.1.2 Visualisation de la table sur plusieurs pages ........................................................................... 53
7.2 Visualisation générique ................................................................................................................ 55
7.3 Insertion générique (La metabase) ............................................................................................... 58
Chapitre 8 MULTICRITERES .................................................................................................................. 64
8.1 Objectif : faire des recherches multi-critères .................................................................................. 64
8.1.1 Ecrans ................................................................................................................................. 65
8.1.2 Script .................................................................................................................................. 66
Chapitre 9 PROCEDURES ET FONCTIONS STOCKEES MySQL ................................................................... 68
9.1 Introduction ................................................................................................................................ 68
PHP et Bases de Données
© Pascal Buguet Imprimé le 15 juin 2017 Page 3
9.1.1 Principes ............................................................................................................................. 68
9.1.2 Syntaxe de base .................................................................................................................. 68
9.1.3 La gestion des jeux de caractères .......................................................................................... 69
9.2 Exemples de procédures stockées MYSQL ...................................................................................... 71
9.2.1 Insertion d'une ville .............................................................................................................. 71
9.2.2 Suppression d'une ville ......................................................................................................... 73
9.3 Procédure stockée qui renvoie un SELECT ..................................................................................... 74
9.4 Procédures stockées avec un argument OUT .................................................................................. 75
9.5 Fonctions stockées ...................................................................................................................... 76
9.5.1 Fonction stockée technique : une addition de 2 nombres ......................................................... 77
9.5.2 Fonction stockée en relation avec une table ............................................................................ 79
9.6 Une procédure qui gère un curseur ............................................................................................... 80
Chapitre 10 ANNEXES ............................................................................................................................ 81
10.1 BD et CharSet ............................................................................................................................. 81
10.1.1 Les tables ............................................................................................................................ 82
10.1.2 Le SELECT ........................................................................................................................... 83
10.1.3 Le DELETE........................................................................................................................... 84
10.1.4 Les INSERTS ....................................................................................................................... 85
10.1.5 Insertion à partir d'un fichier ................................................................................................. 87
10.2 Tableau des fonctions mysql_ ....................................................................................................... 88
10.3 Jointures multi-bases ................................................................................................................... 89
10.4 mysql_insert_id et transactions ..................................................................................................... 90
10.5 Un petit moteur de recheche ........................................................................................................ 93
10.6 Un forum .................................................................................................................................... 95
10.7 BD 2 CSV .................................................................................................................................... 96
10.8 BD Création des tables .............................................................................................................. 97
10.9 BD Ajout des enregistrements .................................................................................................. 100
PHP et Bases de Données
© Pascal Buguet Imprimé le 15 juin 2017 Page 4
CHAPITRE 1 ACCES BD
CF AUSSI LE SUPPORT php_bd_supplements.doc
1.1 RAPPEL SUR LES BDR
1.1.1 Un SGBDR
Un SGBDR est un Système de Gestion de Bases de Données Relationnelles.
Un système de Gestion est un ensemble de machines et de logiciels de gestion d'objets (Textes,
feuilles de calcul, Images, Tables,…)
Une base de données est un ensemble de tables reliées entre elles pour représenter le système
d'informations d'une organisation.
Une table est un rectangle composé de colonnes et de lignes permettant de stocker des données
structurées homogènes représentant un "objet" du monde réel.
Les colonnes sont les champs.
Les lignes des enregistrements. Les enregistrements doivent être uniques.
L'unicité est garantie par la clé primaire de la table. Une clé primaire est composée d'un champ ou de
plusieurs.
Une clé étrangère est un champ d'une table qui correspondant à une clé primaire dans une autre
table. Elle permet de relier les tables entre elles et de garantir l'intégrité référentielle.
Avec MySQL le moteur de tables MyISAM ne permet pas de créer des clés étrangères. Le moteur de
tables InnoDB permet de créer des clés étrangères. De plus le moteur InnoDB gère les transactions.
PHP et Bases de Données
© Pascal Buguet Imprimé le 15 juin 2017 Page 5
SQL
SQL (Structured Query Language) est un langage prédicatif qui permet de définir des objets, de
manipuler les données d'une base de données. C'est l'implémentation de l'algèbre relationnelle.
Quatre actions fondamentales (CRUD : Create, Read, Update, Delete) sont exercées sur les données :
L'insertion,
L'extraction,
La modification,
La suppression.
Quatre instructions du LMD (Langage de Manipulation de Données) correspondent à ces actions :
INSERT, SELECT, UPDATE, DELETE.
Syntaxes de base de ces instructions. (Se référer au cours SQL).
SELECT col1, col2,… FROM nom_de_table [ WHERE col1 = v1 …]
INSERT INTO nom_de_table(col1, col2,…) VALUES (v1, v2, …)
DELETE FROM nom_de_table [WHERE col1=v1 …]
UPDATE nom_de_table SET col2=v2 [, col3=v3] [WHERE col1=v1]
A côté du LMD il existe le LDD (Langage de Définition de Données) qui permet de gérer des objets de
données. Ce langage permet de créer des objets (Table, Index, User, …).
Il possède trois instructions : CREATE (pour créer) , ALTER (pour modifier) et DROP (pour
supprimer).
Syntaxes de base :
CREATE TABLE villes(cp char(5), nom_ville varchar(50));
ALTER TABLE villes ADD PRIMARY KEY ('cp');
DROP TABLE villes;
Le LCD (Langage de Contrôle de Données) permet de contrôler des accès aux objets.
Il comprend au moins deux instructions pour donner des droits (GRANT) et pour les retirer
(REVOKE).
Syntaxes de base :
GRANT SELECT ON villes TO invite;
REVOKE SELECT ON villes FROM invite;
1 / 101 100%
Study collections
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !