PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Dimension: px
Commencer à balayer dès la page:

Download "PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214"

Transcription

1 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril / 214

2 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans un unique fichier sur le disque dur du serveur. La commande sqlite3 permet d ouvrir la base et effectuer des requêtes SQL (pratique pour débugger). PDO (PHP Data Objects) est une interface pour accéder à une base de données depuis PHP. Elle gère la connexion, l envoie des requêtes, la déconnexion à la base de données. Elle permet de changer plus facilement de moteur de bases de données (Par exemple, SQLite MySQL). Ouverture de la base : <? t r y { $bd = new PDO( s q l i t e : d a t a b a s e. s q l i t e ) ; c a t c h ( PDOException $e ) { d i e ( E r r e u r :. $e >getmessage ( ) ) ;?> Bertrand Estellon (AMU) PHP 26 avril / 214

3 SQLite et PDO Une fois l instance de PDO construite, vous effectuez des requêtes avec : $bd->exec($requete) : pour modifier la base de données $bd->query($requete) : pour extraire des données de la base Exemples : $bd >e x e c ( CREATE TABLE u s e r s (. nickname c h a r ( 2 0 ),. p a ssword c h a r ( 5 0 ). ) ; ) ; $ r e s =$bd >e x e c ( UPDATE u s e r s SET p a ssword =. md5( $password ). WHERE nickname =. $nickname. ; ) ; echo nombre de l i g n e s m o d i f i e e s = $ r e s ; $ r e s = $bd >q u e r y ( s e l e c t nickname from u s e r s ; ) ; Bertrand Estellon (AMU) PHP 26 avril / 214

4 Injections SQL Base de données Le code suivant : $nickname = aa ; DELETE FROM u s e r s ;. SELECT FROM u s e r s WHERE nickname = ; $password = t r u c ; $ r e s = $bd >e x e c ( UPDATE u s e r s SET p a ssword =. md5( $password ). WHERE nickname =. $nickname. ; ) ; exécute la requête SQL suivante : UPDATE u s e r s SET p a ssword=.... WHERE nickname= aa ; DELETE FROM u s e r s ; SELECT FROM u s e r s WHERE nickname= ; Protection contre les injections SQL : $ r = $bd >p r e p a r e ( UPDATE u s e r s SET p a ssword =?. WHERE nickname =? ) ; $r >e x e c u t e ( a r r a y (md5( $password ), $nickname ) ) ; Bertrand Estellon (AMU) PHP 26 avril / 214

5 SQLite et PDO Base de données Pour faire une requête SQL : $ r e s = $bd >q u e r y ( s e l e c t from s o n d a g e s ) ; var dump ( $ r e s ) ; affiche object(pdostatement)#2 (1) { [ querystring ]=> string(19) select * from sondages Pour connaître le nombre de lignes : echo nombre de l i g n e s :. $ r e s >rowcount ( ). \n ; Pour parcourir les lignes : $ r e s = $bd >q u e r y ( s e l e c t from s o n d a g e s ) ; w h i l e ( $ l i g n e = $ r e s >f e t c h ( ) ) { echo $ l i g n e [ c r e a t e u r ]. pose l a q u e s t i o n :. $ l i g n e [ q u e s t i o n ]. \n ; Bertrand Estellon (AMU) PHP 26 avril / 214

6 SQLite et PDO Pour mettre toutes les lignes dans un tableau : $ r e s = $bd >q u e r y ( s e l e c t from s o n d a g e s ) ; $ l i g n e s = $ r e s >f e t c h A l l ( ) ; f o r e a c h ( $ l i g n e s as $ l i g n e ) { echo $ l i g n e [ c r e a t e u r ]. pose l a q u e s t i o n :. $ l i g n e [ q u e s t i o n ]. \n ; Voir aussi, dans la classe PDOStatement, les méthodes : bindcolumn : attache une variable à une colonne errorinfo : information d erreur fetchcolumn : récupère la valeur dans une colonne donnée closecursor : ferme le curseur Bertrand Estellon (AMU) PHP 26 avril / 214

7 SQLite et PDO Voir aussi, dans la classe PDO, les méthodes : begintransaction : démarre une transaction commit : valide une transaction rollback : annule une transaction errorinfo : Retourne les informations associées à l erreur errorcode : Retourne le SQLSTATE associé avec la dernière opération prepare : Prépare une requête à l exécution et retourne un objet quote : Protège une chaîne pour l utiliser dans une requête SQL PDO $ s t r i n g = Chaine \ p a r t i c u l i e r e ; p r i n t non echappee : $ s t r i n g \n ; p r i n t echappee :. $bd >quote ( $ s t r i n g ). \n ; Chaine non echappee : Chaine particuliere Chaine echappee : Chaine particuliere Bertrand Estellon (AMU) PHP 26 avril / 214

8 Base de données du projet Les trois tables utilisées dans le projet : u s e r s ( nickname c h a r ( 2 0 ), p a ssword c h a r ( 5 0 ) ) ; s u r v e y s ( i d i n t e g e r p r i m a r y key a u t o i n c r e m e n t, owner c h a r ( 2 0 ), q u e s t i o n c h a r ( ) ) ; r e s p o n s e s ( i d i n t e g e r p r i m a r y key a u t o i n c r e m e n t, i d s u r v e y i n t e g e r, t i t l e c h a r ( ), count i n t e g e r ) ; Bertrand Estellon (AMU) PHP 26 avril / 214

9 Exemple : sauvegarde d un sondage p u b l i c f u n c t i o n s a v e S u r v e y (& $ s u r v e y ) { i f ( $ s u r v e y >g e t I d ()!== n u l l ) r e t u r n f a l s e ; $ t h i s >c o n n e c t i o n >b e g i n T r a n s a c t i o n ( ) ; $ r = $ t h i s >c o n n e c t i o n >p r e p a r e ( INSERT INTO s u r v e y s ( owner,. q u e s t i o n ) VALUES (?,? ) ; ) ; i f ( $ r===f a l s e ) { $ t h i s >c o n n e c t i o n >r o l l b a c k ( ) ; r e t u r n f a l s e ; i f ( $r >e x e c u t e ( a r r a y ( $ s u r v e y >getowner ( ), $ s u r v e y >g e t Q u e s t i o n ()))=== f a l s e ) { $ t h i s >c o n n e c t i o n >r o l l b a c k ( ) ; r e t u r n f a l s e ; $ i d = $ t h i s >c o n n e c t i o n >l a s t I n s e r t I d ( ) ; $ s u r v e y >s e t I d ( $ i d ) ; f o r e a c h ( $ s u r v e y >g e t R e s p o n s e s ( ) a s $ r e s p o n s e ) i f (! $ t h i s >s a v e R e s p o n s e ( $ r e s p o n s e ) ) { $ t h i s >c o n n e c t i o n >r o l l b a c k ( ) ; r e t u r n f a l s e ; $ t h i s >c o n n e c t i o n >commit ( ) ; r e t u r n t r u e ; Bertrand Estellon (AMU) PHP 26 avril / 214

10 La classe Database Base de données c l a s s Database { p r i v a t e $ c o n n e c t i o n ; p u b l i c f u n c t i o n c o n s t r u c t ( ) {... p u b l i c f u n c t i o n checkpassword ( $nickname, $password ) {... p u b l i c f u n c t i o n adduser ( $nickname, $password ) {... p u b l i c f u n c t i o n u p d a t e U s e r ( $nickname, $password ) {... p u b l i c f u n c t i o n s a v e S u r v e y (& $ s u r v e y ) {... p u b l i c f u n c t i o n loadsurveysbyowner ( $owner ) {... p u b l i c f u n c t i o n loadsurveysbykeyword ( $keyword ) {... p u b l i c f u n c t i o n v o t e ( $ i d ) {... p r i v a t e f u n c t i o n c r e a t e D a t a B a s e ( ) {... p r i v a t e f u n c t i o n c h e c k N i c k n a m e V a l i d i t y ( $nickname ) {... p r i v a t e f u n c t i o n c h e c k P a s s w o r d V a l i d i t y ( $password ) {... p r i v a t e f u n c t i o n c h e c k N i c k n a m e A v a i l a b i l i t y ( $nickname ) {... p r i v a t e f u n c t i o n s a v e R e s p o n s e (& $ r e s p o n s e ) {... p r i v a t e f u n c t i o n l o a d S u r v e y s ( $ a r r a y S u r v e y s ) {... p r i v a t e f u n c t i o n l o a d R e s p o n s e s (& $ s u r v e y, $ a r r a y R e s p o n s e s ) {... Bertrand Estellon (AMU) PHP 26 avril / 214

11 Persistance et mapping objet-relationnel (ORM) Les besoins : Sauvegarde simple des objets en base de données : $ u s e r = new User ( ) ; $ u s e r >nickname = bob ; $ u s e r >p a ssword = md5( t r u c ) ; $ u s e r >s a v e ( ) ; Création automatique des tables ; Chargement des objets ; Gestion des relations entre les objets/enregistrements ;... Quelques solutions en PHP : Propel Doctrine Zend Framework Redbean... Bertrand Estellon (AMU) PHP 26 avril / 214

PDO : PHP Data Object 1/13

PDO : PHP Data Object 1/13 PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension

Plus en détail

Système d information

Système d information w w w. a g r o p a r i s t e c h. f r Système d information http://www.agroparistech.fr/systeme-d-information.html Requêtes MySQL en PHP avec AgroSIXPack Liliana IBANESCU UFR Informatique Département MMIP

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Interface phpmyadmin Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

PHP - BD. PostgreSQL. Connexion (I) Présentation

PHP - BD. PostgreSQL. Connexion (I) Présentation PHP - BD PostgreSQL S. Lanquetin LE2I Aile sciences de l'ingénieur Bureau G206 sandrine.lanquetin@u-bourgogne.fr Présentation Connexion (I) PostgreSQL s'appuie sur le modèle relationnel mais apporte les

Plus en détail

Principes d'utilisation des systèmes de gestion de bases de données

Principes d'utilisation des systèmes de gestion de bases de données Principes d'utilisation des systèmes de gestion de bases de données JDBC L3 Informatique Emmanuel Waller, LRI, Orsay Université Paris Sud le mode programme JDBC JDBC : qu'est ce que c'est? Avantages? devant

Plus en détail

La classe MySQLi. mysqli mysqli_result mysqli_stmt

La classe MySQLi. mysqli mysqli_result mysqli_stmt La classe MySQLi mysqli mysqli_result mysqli_stmt Créa5on de l objet define("myhost","localhost"); define("myuser","root"); define("mypass",""); func5on connexobjet($base,$param) { include_once($param.".inc.php");

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

PHP. PHP et bases de données

PHP. PHP et bases de données Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases - MySQL - Oracle - PostgreSQL - SQLite - Microso> Access - DBM - IBM Informix -... Accés aux bases de données

Plus en détail

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr Bases de Données & Interfaces Web stanislas.oger@univ-avignon.fr 1 Architecture d'un SI Web Fonctionnement Dynamique avec Base de Données 2 Idée Dynamiser les pages avec des infos venant de BDD Enregistrer

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role IFT7 Programmation Serveur Web avec PHP Introduction à MySQL Base de donnée relationnelle Une base de données relationnelle est composée de plusieurs tables possédant des relations logiques (théorie des

Plus en détail

PHP MySQL N 2. IUT MMI Saint Raphaël 2014-2015

PHP MySQL N 2. IUT MMI Saint Raphaël 2014-2015 PHP MySQL N 2 IUT MMI Saint Raphaël 2014-2015 Base de données : Utilisation avec PHP Se connecter à la base de données PHP propose plusieurs moyens de se connecter à une base de données MySQL : - L'extension

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

1. Avec un script php. 2. En utilisant phpmyadmin

1. Avec un script php. 2. En utilisant phpmyadmin Université Lumière - Lyon 2 Master d Informatique M1 - Année 2006-2007 Programmation Web - TDs n 8 9 : PHP - Mysql L. Tougne (http ://liris.cnrs.fr/laure.tougne), 20/11/06 L objectif de ce TD est d utiliser

Plus en détail

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation.

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Bienvenue! Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Téléchargez les logiciels nécessaires pour cette formation : http ://formation-web.via.ecp.fr

Plus en détail

Modèle-Vue-Contrôleur. Développement Web 2. Projet 1 Sondages. Organisation générale

Modèle-Vue-Contrôleur. Développement Web 2. Projet 1 Sondages. Organisation générale PHP Modèle-Vue-Contrôleur Introduction Modèle-Vue-Contrôleur Développement Web 2 Bertrand Estellon Aix-Marseille Université April 1, 2014 Le Modèle-Vue-Contrôleur (MVC) est un méthode de conception utilisée

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Sécurité d un site php

Sécurité d un site php Sensibilisation IUT de Fontainebleau 8 juin 2015 1 2 1 2 Enjeux L application manipulent-ils des données fiables? L application interagit-elle avec le bon interlocuteur? Le secret des données échangées

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

Introduction Mysql API mysqli Annexe. Introduction à PHP. Web et SGBD : un exemple avec Mysql. IUT de Fontainebleau. 8 mars 2014. Introduction à PHP

Introduction Mysql API mysqli Annexe. Introduction à PHP. Web et SGBD : un exemple avec Mysql. IUT de Fontainebleau. 8 mars 2014. Introduction à PHP Web et SGBD : un exemple avec IUT de Fontainebleau 8 mars 2014 1 2 Modèle relationnel 3 4 listes des fonctions mysqli 1 2 Modèle relationnel 3 4 listes des fonctions mysqli Problématique Sites dynamiques

Plus en détail

Qu'est-ce que Mysql?

Qu'est-ce que Mysql? Mysql avec php Qu'est-ce que Mysql? Annie Danzart Annie.Danzart@enst.fr http://www.infres.enst.fr/~danzart/mysql/ Qu est-ce que Mysql? Aperçu Langage Le serveur La base de données Interfaces d accès Fonctions

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données 1. Exploiter une couche métier objet PHP prend en charge certains des grands principes du paradigme objet (héritage,

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Plus en détail

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI Vulnérabilités logicielles Injection SQL Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI 1 Plan SQL Injection SQL Injections SQL standards Injections SQL de requêtes

Plus en détail

Installation et administration d une base de données MySQL

Installation et administration d une base de données MySQL Compte rendu d'activité Fiche n 2 Nom et prénom : SAÏD Jérôme Nature de l'activité Installation et administration d une base de données MySQL Contexte : Dans le but de mettre en place un outils permettant

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Transaction. 1:débiter(1000) 2:créditer(1000)

Transaction. 1:débiter(1000) 2:créditer(1000) Transaction Il n'est pas rare qu'une opération se divise en plusieurs autres opérations élémentaires sur la base de données. Dans ce cas, l''état de la base de données avant l'opération est maintenue cohérent,

Plus en détail

Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015)

Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015) Université Bordeaux Segalen Licence 3 MIASHS, semestre 6 (2014/2015) Conception de Sites Web Dynamiques : TD 7 Inscription de membres - Variables de sessions - Formulaires pour insérer des images Version

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Programmation MySQL/PHP. Programmation MySQL/PHP p.1/19

Programmation MySQL/PHP. Programmation MySQL/PHP p.1/19 Programmation MySQL/PHP Programmation MySQL/PHP p.1/19 CGI et bases de données Principe : création de documents à partir d une BD MySQL se charge du stockage, de la protection des données, de l interface

Plus en détail

LINQ to SQL. Version 1.1

LINQ to SQL. Version 1.1 LINQ to SQL Version 1.1 2 Chapitre 03 - LINQ to SQL Sommaire 1 Introduction... 3 1.1 Rappels à propos de LINQ... 3 1.2 LINQ to SQL... 3 2 LINQ to SQL... 3 2.1 Importer des tables... 3 2.1.1 Le concepteur

Plus en détail

Les procédures fonctions packages et triggers

Les procédures fonctions packages et triggers Les procédures fonctions packages et triggers Les procédures stockées: Définition: Une procédure est un code PL/SQL défini par l utilisateur et stocké dans la base de données. Ce qui permet d éliminer

Plus en détail

SELECT FROM WHERE DISTINCT TOP n INSERT INTO VALUES UPDATE

SELECT FROM WHERE DISTINCT TOP n INSERT INTO VALUES UPDATE LES REQUETES SQL Sélectionner des enregistrements La requête SELECT est utilisée pour rechercher des enregistrements d'une table, elle s'emploie avec FROM qui est utilisé pour spécifier le nom de la table.

Plus en détail

Introduction à PHP. PHP et SGBD : un exemple avec Mysql. 1 er mai 2015. IUT de Fontainebleau. Introduction Mysql API mysqli Requêtes préparées

Introduction à PHP. PHP et SGBD : un exemple avec Mysql. 1 er mai 2015. IUT de Fontainebleau. Introduction Mysql API mysqli Requêtes préparées PHP et SGBD : un exemple avec IUT de Fontainebleau 1 er mai 2015 Sommaire 1 Introduction 2 3 4 Sommaire 1 Introduction 2 3 4 Problématique Sites dynamiques "Informations dynamiques". Comment la gérer,

Plus en détail

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

Lot 1 - Migration du serveur de base de données

Lot 1 - Migration du serveur de base de données Situation Rectiline Lot 1 - Migration du serveur de base de données Table des matières Lot 1 - Migration du serveur de base de données...1 Mise à jour du système Debian 6 :...2 Installation de PostgreSQL:...5

Plus en détail

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés www.fenetresurtoile.com Jean-François Ramiara FAD Réseau Pyramide 14/01/2013 Toulouse 1 www.fenetresurtoile.com Sommaire Introduction Ajout avec SQL Modification avec SQL Suppression avec SQL Mises à jour

Plus en détail

Formation PHP/ MYSQL

Formation PHP/ MYSQL Formation PHP/ MYSQL Deuxième PARTIE 1/12 II MYSQL (PHPmyAdmin) Création d un annuaire avec une table MySQL dans phpmyadmin. Voici l écran de PHPmyAdmin lorsque vous vous y connectez. 2/12 1) Création

Plus en détail

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr PHP OO et Pear DB Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2 Olivier.Perrin@loria.fr Classes et objets en PHP Une classe PHP regroupe des variables d instance, représentés

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion J. Hennecart Serval-Concept Lundi 23 février 2015 J. Hennecart des injections SQL sont des vulnérabilités permettant de faire exécuter des commandes, non prévues initialement, à une base de données. La

Plus en détail

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4 DUT Génie Biologique Option Bioinformatique Les bases de données relationnelles avec MySQL Éric Pipard Travaux Pratiques n 4 Jointures externes Requêtes internes et externes Vues et transactions Objectifs

Plus en détail

TP1 - Corrigé. Manipulations de données

TP1 - Corrigé. Manipulations de données TP1 - Corrigé Manipulations de données 1. Démarrez mysql comme suit : bash$ mysql -h 127.0.0.1 -u user4 -D db_4 p Remarque: le mot de passe est le nom de user. Ici user4 2. Afficher la liste des bases

Plus en détail

Chapitre 1 Installer MySQL 5 21

Chapitre 1 Installer MySQL 5 21 Chapitre 1 Installer MySQL 5 21 1.1. Les outils nécessaires... 22 1.2. Télécharger et installer le serveur MySQL... 22 Télécharger la dernière version... 22 Lancer l installation sous Windows... 23 Lancer

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

2.1/ Les privilèges sous oracle

2.1/ Les privilèges sous oracle LP Informatique(DA2I), UF7 : Administration Système, Réseaux et Base de données 13/12/2007, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Première parie : Administration d une BD Chapitre 2 : Transaction,

Plus en détail

Injections SQL Adrien Baborier, créateur de l extension AcyMailing Nicolas Claverie, créateur de l extension HikaShop

Injections SQL Adrien Baborier, créateur de l extension AcyMailing Nicolas Claverie, créateur de l extension HikaShop Comprendre et éviter les failles les plus répandues Injections SQL Adrien Baborier, créateur de l extension AcyMailing Nicolas Claverie, créateur de l extension HikaShop Sommaire 1. Vérifications coté

Plus en détail

Compte rendu d activité Fiche n 1

Compte rendu d activité Fiche n 1 Compte rendu d activité Fiche n 1 Alexandre K. (http://ploufix.free.fr) Nature de l activité Création d une base de connaissances avec PostgreSQL Contexte : Le responsable technique souhaite la mise en

Plus en détail

PHP. PHP et base de données

PHP. PHP et base de données PHP et base de données Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases MySQL Oracle PostgreSQL SQLite Microso? Access DBM IBM Informix... Accés aux bases

Plus en détail

PHP & ACCESS QUI? LES SITES SOMMAIRE SOMMAIRE Pourquoi utilisé ACCESS avec l ODBC Approche de ACCESS Installation simple et complexe Programmation Transfert Securite Applications et réalisations QUESTIONNAIRE

Plus en détail

Formation PHP/MySQL. Pierre PATTARD. Avril 2005

Formation PHP/MySQL. Pierre PATTARD. Avril 2005 Formation PHP/MySQL Pierre PATTARD Julien BENOIT Avril 2005 Le PHP Langage interprété, côté serveur pages interprétées par le serveur web pas de compilation, code éditable avec un bloc notes. aucune différences

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et l extension PDO

Module FMIN358 Technologies du Web : PHP objet et l extension PDO Module FMIN358 Technologies du Web : PHP objet et l extension PDO 1. Extensions PHP pour interfacer les bases de données relationnelles Diverses extensions comme PHP Data Objects (PDO), ADOdb, Zend db

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

1.1/Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition.

1.1/Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition. LP Informatique(DA2I), F7 : Administration Système, Réseaux et Base de données 15/11/2007, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Première parie : Administration d une BD Chapitre 1 : Architecture

Plus en détail

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Université Mohamed Premier Année universitaire 2014/2015 Faculté des Sciences Filière SMI S6 Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Exercice 1 : Testez les

Plus en détail

Introduction à PHP. Programmation objet. 15 mars 2015. IUT de Fontainebleau. Classes Héritage Interface Objet avancé Accès bases de données avec PDO

Introduction à PHP. Programmation objet. 15 mars 2015. IUT de Fontainebleau. Classes Héritage Interface Objet avancé Accès bases de données avec PDO Programmation objet IUT de Fontainebleau 15 mars 2015 Sommaire 1 Attributs et méthodes Constructeur Référence et copie 2 Classe abstraite Classe Finale 3 Définition 4 5 Sommaire Attributs et méthodes Constructeur

Plus en détail

Python: Manipulation d Informations 02/05/2013

Python: Manipulation d Informations 02/05/2013 Python: Manipulation d Informations 02/05/2013 Sommaire 1. Introduction 2. Bases de données 3. Systèmes de gestion de bases de données 4. Grammaire SQL 5. Python et les bases de données : le module «SQLite»

Plus en détail

Interfaçage avec une base de données

Interfaçage avec une base de données Interfaçage avec une base de données Principe PHP propose de nombreux outils permettant de travailler avec la plupart des SGBD Oracle, Sybase, Microsoft SQL Server, PostgreSQL ou encore MySQL Php fournit

Plus en détail

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition)

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition) Avant-propos 1. Les objectifs de ce livre 13 2. Les principaux sujets qu'aborde ce livre 13 3. À qui s adresse ce livre? 14 4. Les pré-requis 14 Introduction à MySQL 1. Introduction aux bases de données

Plus en détail

Cours 10 Formulaires Web pour saisie de données dans une base de données relationnelle avec PHP (partie 2 de 2)

Cours 10 Formulaires Web pour saisie de données dans une base de données relationnelle avec PHP (partie 2 de 2) École de bibliothéconomie et des sciences de l information SCI6306 Bases de données documentaires Cours 10 Formulaires Web pour saisie de données dans une base de données relationnelle avec PHP (partie

Plus en détail

MySQL 5. Guide de l'administrateur et du développeur. Michael Kofler. Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0

MySQL 5. Guide de l'administrateur et du développeur. Michael Kofler. Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0 MySQL 5 Guide de l'administrateur et du développeur Michael Kofler Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0 Table des matières Avant-propos..............................................

Plus en détail

Inf340 Systèmes d information. Deuxième site : approche MVC

Inf340 Systèmes d information. Deuxième site : approche MVC Inf340 Systèmes d information Deuxième site : approche MVC Objectifs Objectif : Reprendre le site précédent en utilisant le patron de conception Modèle Vue Contrôleur. Comprendre l apport d un framework

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Projet GSB Installation d un serveur FTP sous Debian 8.0. Installer et configurer une solution FTP

Projet GSB Installation d un serveur FTP sous Debian 8.0. Installer et configurer une solution FTP Installer et configurer une solution FTP Version : 2.0 Groupe : David LE FLEM, Guillaume RIVIERE, Gwendal PELARD Date : 11/03/2016 Page 1 sur 7 Sommaire Création d un utilisateur :... 3 Instalaltion de

Plus en détail

Pour les débutants. langage de manipulation des données

Pour les débutants. langage de manipulation des données Pour les débutants SQL : langage de manipulation des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

Vous disposez chacun d'un identifiant de connexion personnalisé sur le serveur APITUX.

Vous disposez chacun d'un identifiant de connexion personnalisé sur le serveur APITUX. IDENTIFIANTS DE CONNEXION Vous disposez chacun d'un identifiant de connexion personnalisé sur le serveur APITUX. Dans tout ce qui suit, remplacer pnom par votre nom d'utilisateur constitué de l'initiale

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

IFT3030 Base de données. Chapitre 6 SQL. Plan du cours

IFT3030 Base de données. Chapitre 6 SQL. Plan du cours IFT3030 Base de données Chapitre 6 SQL Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

Bases de données. Programmation Mobile Android Master CCI. Définition du modèle. Définition du SQLiteOpenHelper

Bases de données. Programmation Mobile Android Master CCI. Définition du modèle. Définition du SQLiteOpenHelper SQLite Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Nous allons voir comment stocker de l information structurée sous la forme d une base de données

Plus en détail

Mapping Objet/Relationnel

Mapping Objet/Relationnel Mapping Objet/Relationnel I. Mougenot (isabelle.mougenot@univ-montp2.fr) Faculté des Sciences Université Montpellier 2 2014 Mougenot (UM2) FMIN362 Cours2 2014 1 / 14 Les limites du relationnel 1 Première

Plus en détail

Bases de données. Jean-Yves Antoine. VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr. L3 S&T mention Informatique

Bases de données. Jean-Yves Antoine. VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr. L3 S&T mention Informatique Bases de données Jean-Yves Antoine VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr L3 S&T mention Informatique Bases de Données IUP Vannes, UBS J.Y. Antoine 1 Bases de données SGBD

Plus en détail

Le mapping objet relationnel. Introduction au mapping objet relationnel avec Nhibernate Cyril GRAUFFEL IR3 2009/2010

Le mapping objet relationnel. Introduction au mapping objet relationnel avec Nhibernate Cyril GRAUFFEL IR3 2009/2010 Le mapping objet relationnel Introduction au mapping objet relationnel avec Nhibernate Cyril GRAUFFEL IR3 2009/2010 Plan de présentation 1. Le modèle relationnel et le modèle objet 2. Le Mapping Objet

Plus en détail

Oracle Database 10g: Les fondamentaux du langage SQL I

Oracle Database 10g: Les fondamentaux du langage SQL I Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux du langage SQL I Durée: 3 Jours Description Ce cours offre aux étudiants une introduction à la technologie de

Plus en détail

Atelier Web Les langages du Web Le MySQL Module 1 - Les bases

Atelier Web Les langages du Web Le MySQL Module 1 - Les bases Atelier Web Les langages du Web Le MySQL Module 1 - Les bases Définition MySQL = SGBD = Système de Gestion de Base de Données Le rôle du MySQL est de vous aider à enregistrer les données de manière organisée

Plus en détail

Les déclencheurs (Triggers) avec Oracle

Les déclencheurs (Triggers) avec Oracle 1) Introduction 2) Événements déclenchant 3) Mécanisme général 4) Privilèges systèmes 5) Syntaxe 6) Nom du déclencheur 7) Option BEFORE ou AFTER 8) Déclencheur LMD 9) Déclencheur LDD 10) Déclencheur d'instance

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

Plus en détail

Interface Java Oracle : JDBC

Interface Java Oracle : JDBC Interface Java Oracle : JDBC Christine Bonnet Sommaire Démarche globale JDBC --- 6 Accès s en consultation --- 9 Accès s en modification --- 13 Ordres dynamiques --- 19 Procédures stockées --- 24 I-2 Christine

Plus en détail

Android API de Persistance. James Douglass Lefruit Ingénieur de Recherche, INRIA Grenoble

Android API de Persistance. James Douglass Lefruit Ingénieur de Recherche, INRIA Grenoble Android API de Persistance James Douglass Lefruit Ingénieur de Recherche, INRIA Grenoble Android Les Préférences SharedPreferences Stockage SQLite sur Android Introduction Générale à SQLite Les API SQLite

Plus en détail

UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL

UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL I Gestion des utilisateurs et de leurs privilèges I.1 Gestion

Plus en détail

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Interface Web PhpPgAdmin: permet de faire des requêtes SQL ( 1 commandes) permet de visualiser

Plus en détail

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale Département Génie Informatique BD50 TP5 : Développement PL/SQL Avec Oracle SQL Developer Gestion Commerciale Françoise HOUBERDON & Christian FISCHER Copyright Avril 2007 Présentation de la gestion commerciale

Plus en détail

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

Plus en détail

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1 3 - Administration de BD SQL Chapitre III Administration des BD SQL 3.1 Création de BD 3.2 Gestion des utilisateurs 3.3 Administration des transactions 3.4 Accès à une BD distante 3.5 Conclusions Composants

Plus en détail

Conception de Sites Web dynamiques. Authentification. Programme. Hébergement de vos sites 08/04/2010. Inscription

Conception de Sites Web dynamiques. Authentification. Programme. Hébergement de vos sites 08/04/2010. Inscription Conception de Sites Web dynamiques Cours 8 2009/2010 Patrick Reuter Inscription Authentification Programme Hébergement Sujets Projets Retour sur TP MySQL Base de données Hébergement de vos sites Capacités

Plus en détail

Rapport de Cryptographie

Rapport de Cryptographie Cryptographie [MIF30] / Année 2008-2009 Rapport de Cryptographie Les Injections SQL Sylvie Tixier & François-Xavier Charlet Page 1 20/05/2009 Sommaire Introduction...3 Définition d une injection SQL...3

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

Université M Hamed Bougara Boumerdès, Faculté des Sciences, Département Informatique SQL PROCEDURAL

Université M Hamed Bougara Boumerdès, Faculté des Sciences, Département Informatique SQL PROCEDURAL Université M Hamed Bougara Boumerdès, Faculté des Sciences, Département Informatique Cours (Master 1) : Bases de Données Avancées, (Responsable : A. AIT BOUZIAD) SQL PROCEDURAL Dans les différentes parties

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011 1 / 32 Développement Web - JDBC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique 2010-2011 2 / 32 Plan Plan 1 Préambule 2 Utilisation de

Plus en détail

I) Bases de données et tables :

I) Bases de données et tables : I) Bases de données et tables : Un S.G.B.D. est un outil pour organiser, stocker, modifier, calculer et extraire des infos. Une B.D.R. peut être considérée comme un ensemble de tables à 2 dimensions. Exemple

Plus en détail

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

Plus en détail

JDBC et objet-relationnel

JDBC et objet-relationnel Types de données de SQL3 JDBC et objet-relationnel Université de Nice - Sophia Antipolis Version 1.6.4 5/11/11 Richard Grin JDBC supporte les types suivants de SQL3 qui sont des ouvertures vers le relationnelobjet

Plus en détail

Manuel Utilisateur ENIGMA 15/04/2008. 299, rue Saint Sulpice Centre Tertiaire de l Arsenal 59500 DOUAI

Manuel Utilisateur ENIGMA 15/04/2008. 299, rue Saint Sulpice Centre Tertiaire de l Arsenal 59500 DOUAI Manuel Utilisateur 15/04/2008 ENIGMA Cahier de réalisation ENIGMA Page 2 Sommaire I. Introduction :... 3 II. Les répertoires de l application... 3 III. Les plugins... 4 a. CmdDos... 4 b. CSV2XML... 4 c.

Plus en détail