Qu'est-ce que Mysql?

Documents pareils
CREATION WEB DYNAMIQUE

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 4 PARTIE : BASE DE DONNEES

Mysql avec EasyPhp. 1 er mars 2006

Pratique et administration des systèmes

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

Olivier Mondet

Stockage du fichier dans une table mysql:

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

SQL Historique

Bases de données relationnelles

I. MySQL : Serveur et SGBD

PHP et les Bases de données - Généralités

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

PHP. PHP et bases de données

OpenPaaS Le réseau social d'entreprise

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Installation et Mise en œuvre de MySQL

Les BASES de DONNEES dans WampServer

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

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

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

Modélisation et Gestion des bases de données avec mysql workbench

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Notes de cours : bases de données distribuées et repliquées

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Introduction à MySQL (ou MySQL en 3 heures montre en main)

Installation d'un serveur FTP géré par une base de données MySQL

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

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

Architecture de la plateforme SBC

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Partie 0 : Gestion des tablespace et des utilisateurs... 3

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

Bases de Données relationnelles et leurs systèmes de Gestion

PDO : PHP Data Object 1/13

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

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

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

Cours: Administration d'une Base de Données

Le langage SQL (première partie) c Olivier Caron

Configurer la supervision pour une base MS SQL Server Viadéis Services

Open Source Job Scheduler. Installation(s)

Bases de SQL. Hacks 1-6 CHAPITRE UN

Le protocole FTP (File Transfert Protocol,

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Les bases de données

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Rapport d audit de sécurité

Historisation des données

Le Langage SQL version Oracle

Attaques applicatives

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SYSTÈMES D INFORMATIONS

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Création et Gestion des tables

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

Devoir Data WareHouse

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

IFT3030 Base de données. Chapitre 1 Introduction

1. Base de données SQLite

Le Langage De Description De Données(LDD)

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

Compétences Business Objects

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Application web de gestion de comptes en banques

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

SQL Server et Active Directory

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Guide d installation de SugarCRM Open Source version 4.5.1

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Gestion de base de données

Java DataBaseConnectivity

Synchronisation Mysql (Replication)

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée:

1 Position du problème

Gestion des utilisateurs et de leurs droits

Accès aux bases de données

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

MYSQLDUMP & ZRM COMMUNITY

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Langage SQL : créer et interroger une base

TP Contraintes - Triggers

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Introduction aux Bases de Données 2004/2005

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Guide Installation Serveur Extensive Testing

Transcription:

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 php d accès et de manipulation Exploitation de l envoi d une requête Formulaires dynamiques

Qu est-ce que Mysql? Système de Gestion de Bases de Données relationnelles (aujourd hui racheté par Oracle) Libre de droits (mariadb, license GPL) http://mariadb.org/ http://www.mysql.com/ Langage de manipulation de bases de données Serveur mysqld, commande mysql Base de données mysql en tant que telle (bases, utilisateurs) Fonctions d'accès intégrées dans de nombreux langages

Mysql : le langage SQL-like avec quelques restrictions mysql > create database essai; mysql > show databases; requêtes mysql > drop database essai; mysql > use essai; mysql > drop table if exists table1; mysql > create table table1 ( ID int default '0' not null auto_increment; nom text; numero int; primary key (ID) ); mysql > show columns from table1; mysql > insert into table1 (nom, numero) values ("toto","123451"); mysql > select * from table1; mysql > delete from table1 where numero="123451"; mysql > update table1 set nom="didi" where numero="123451";

Mysql : le serveur Interface de base fournie avec l'environnement exemple > mysql -h mysql.tp.enst.fr:3307 -u user -p -h : hôte ( adresse IP ) -u : utilisateur ( accès spécifique ) -p : mot de passe ( défini au moment de la création sera fourni après validation de la commande ) Après validation de la commande, une session est ouverte qui permet de frapper directement des commandes mysql mysqldump, mysqladmin, mysqlimport

Mysql : la base de données user : table des utilisateurs référencés db : table des bases existantes host : table des droits d'accès par hôte user host/user/password droits utilisateur / administrateur dans mysql host/db/user/select/insert/update/delete/alter/drop/create droits d'accès des utilisateurs pour chaque base db host host/db/select/insert/update/delete/alter/drop/create droits d accès des hôtes pour chaque base dans mysql

Mysql : interfaces d accès administration utilisateur référencé et averti public commande mysql : requêtes sql phpmyadmin : (http://www.infres.enst.fr/packages/phpmyadmintp/) outil d'administration de mysql plus convivial pas de contrôle de cohérence des données interfaces personnalisées : adaptées à un besoin particulier chargées en plus d'assurer la cohérence

Comment ça marche? Poste client firefox Serveur Apache www.infres.enst.fr 1 8 4 7 httpd mod_php5 Serveur de fichiers infres.enst.fr 2 3 5 6 Serveur Mysql mysql.infres.enst.fr mysqld bases ~danzart/public_html/exemple2.php 8

Fonctions php d accès à Mysql Exemples : $connexion = mysql_connect("mysql.tp.enst.fr:3307","user","motdepasse") mysql_close($connexion); mysql_create_db("nom",$connexion); $mysql_result=mysql_list_dbs($connexion); mysql_drop_db("test"); mysql_select_db("cd_test",$connexion); $requete="create table..."; mysql_query($requete); $mysql_result=mysql_list_fields("base","table",$connexion); Le login et le mot de passe sont exprimés "en clair" dans le script : -> les stocker dans un fichier difficile d'accès à inclure dans les pages "connexion_inc.php" -> prévoir plusieurs modes d'accès (PUBLIC, utilisateur, administrateur)

Exploitation du résultat d une requête Exemple de requête Source de connexion_inc.php <?php?> // lecture des parametres de connexion a la base de donnees include("connexion_inc.php"); // ouverture de la connexion : mysql_connect() ou mysql_pconnect() $connexion = @mysql_connect($hote,$utilisateur,$password) or die("pb de connexion"); // choix de la base de données mysql_select_db($base); // prendre la liste des champs de la table produits de la base magasin_test $query = "SELECT * FROM produits ORDER BY P_ID DESC;"; $mysql_result = @mysql_query($query) ; echo $query; // afficher le texte de la requête en phase de mise au point if ($mysql_result == FALSE) {echo "Connexion impossible"; exit;} // prendre chaque rangée while ($ligne = mysql_fetch_array($mysql_result)) { // afficher le nom du produit // mettre en forme les résultats dans une liste, un tableau html, print($ligne["p_nom"]); }

Fonctions php d accès à Mysql int mysql_query($requete [,$connexion]), int mysql_db_query($db,$requete [,$connexion]): // pour envoyer une requête int mysql_num_fields(): // pour voir le nombre de champs retournés (mysql_fetch_row()) int mysql_num_rows(): // pour voir s'il y a des résultats int mysql_insert_id()(): // numéro du dernier enregistrement inséré string mysql_error(), int mysql_errno(); // pour contrôler les erreurs si une requête n'a pas donné de résultat array mysql_fetch_array(), array mysql_fetch_row(), array mysql_fetch_object() : // pour exploiter le résultat d'une requête

Construire un formulaire dynamique Interrogation de la base de données pour construire le formulaire <form action="resultat.php"> <?php // ouverture de la connexion+choix de la base de données.. include("connexion_inc.php"); // prendre la liste des enregistrements // de la table produits de la base magasin_test $query = "SELECT * FROM produits ORDER BY P_ID DESC;"; $mysql_result = mysql_query($query) ; //prendre chaque rangée while ($ligne = mysql_fetch_array($mysql_result)) { // afficher une checkbox pour chaque produit de la base?> <input type="checkbox" name="choix[]" value="<?php echo $ligne["p_id"];?>"> <?php echo $ligne["p_nom"]."<p>"; }?> </form> <input type="submit" name="valider">

Construire un formulaire dynamique Source html résultat du script précédent <form action="resultat.php"> <input type="checkbox" name="choix[]" value= "1"> pomme <p> <input type="checkbox" name="choix[]" value="2"> poire <p> <input type="checkbox" name="choix[]" value="3"> banane <p> <input type="submit" name="valider"> </form>

Merci de votre attention Tutoriel: http://www.infres.enst.fr/~danzart/mysql/ Les exemples du cours: http://www.infres.enst.fr/~danzart/php/exemples/