Accès au SGBD MySQL avec PHP



Documents pareils
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

CREATION WEB DYNAMIQUE

Stockage du fichier dans une table mysql:

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

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

Pratique et administration des systèmes

PDO : PHP Data Object 1/13

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

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

I. MySQL : Serveur et SGBD

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Chamilo Manuel Administrateur. Guide de l'administrateur. Chamilo janvier 2012 Page 1 / 108

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

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

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Raja Bases de données distribuées A Lire - Tutoriel

PHP. PHP et bases de données

Installation locale de JOOMLA SEPIA

Bon ben voilà c est fait!

Bases de Données et Internet

Architectures web/bases de données

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

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Java DataBaseConnectivity

LA PLATE-FORME D'ALTERN C

1. La plate-forme LAMP

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

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

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

NAS 224 Accès distant - Configuration manuelle

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

contact@nqicorp.com - Web :

BTS SIO Dossier BTS. PURCHLA Romain

Programmation Web. Introduction

FileMaker 13. Guide ODBC et JDBC

contact@nqicorp.com - Web :

Manuel d utilisateur du site de covoiturage «Etucovoiturage»

Guide d installation de Gael

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Attaques de type. Brandon Petty

1 Position du problème

ISPConfig Documentation

TP Service HTTP Serveur Apache Linux Debian

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

Zope: une plateforme collaborative de développement web open source

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

III. Contexte. Objectifs. Philippe HOUE, Ecole des Mines de Nantes

Installation de Zabbix

Raspberry pi : Développer une petite application web sur Raspberry

STID 2ème année : TP Web/PHP

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

1. Personnalisation de la page d'accueil

AIDE A LA CREATION D UN COMPTE NOM DE DOMAINE, SOUS-DOMAINE, FTP, BASE DE DONNEES

FileMaker Server 13. Publication Web personnalisée avec PHP

Attaques applicatives

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

Architectures en couches pour applications web Rappel : Architecture en couches

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

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

PHP 5.4 Développez un site web dynamique et interactif

Manuel du composant CKForms Version 1.3.2

Documentation de conception

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Live box et Nas Synology

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

Programmation Web. Madalina Croitoru IUT Montpellier

SERVEUR DE MESSAGERIE

PostgreSQL. Formations. Catalogue Calendrier... 8

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

Catalogue des Formations Techniques

NAS 321 Héberger plusieurs sites web avec un hôte virtuel

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Installer un serveur web de développement avec VirtualBox

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

Installation et configuration d OCS/GLPI sur un Serveur Debian

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

Alpha PRIMO 58 boulevard baron du Marais Roanne / / contact@alphaprimo.fr

Open Source Job Scheduler. Installation(s)

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

UwAmp. Serveur d'evaluation

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Le stockage local de données en HTML5

OCS Inventory & GLPI

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Transcription:

Accès au SGBD MySQL avec PHP Introduction Un des très grand avantage de PHP, est sans aucun doute l'accès facile à différentes bases de données telles que Oracle, Sybase, PostgreSQL ou MySQL que nous allons utiliser dans la suite de ce cours. L'interface fonctionnelle MySQL/PHP est un ensemble des fonctions qui permettent de se connecter à MySQL, d'exécuter des requêtes SQL et récupérer le résultat que l'on peut ensuite afficher dans une page HTML. Le tableau suivant donne la liste des principales fonctions utiliser pour interfacer une base de données Mysql avec de php. Fonctions mysql_connect mysql_pconnect mysql_select_db mysql_query mysql_fetch_object mysql_num_rows mysql_fetch_row mysql_drop_db mysql_close mysql_error Description ouvre une connexion à un serveur MySQL pour un compte utilisateur et un serveur donné. Elle revoit une valeur qui peut être utilisée pour dialoguer avec le serveur Ouvre une connexion persistante à un serveur MySQL. Très utiliser lorsque le serveur php et inclus dans Apache Sélectionne une base de données MySQL Envoie une requête SQL au serveur MySQL sous forme d'une variable Retourne une ligne de résultat sous la forme d'un objet. Elle positionne le curseur sur la ligne suivante Retourne le nombre de ligne d'un résultat Récupère une des lignes du résultat, et la retourne sous la forme d un tableau Efface une base de données MySQL Fermer la connexion MySQL Retourne le texte associée avec l'erreur générée lors de la dernière requête Connexion Avant de faire le moindre accès à une base de données, il faut impérativement établir une connexion au serveur de base de données avec un compte utilisateur et un mot de passe correspondant, et choisir sa base de données puisque ce serveur peut, éventuellement, donner accès à plusieurs bases. Nous utiliserons la base de données Base1 créée dans le chapitre précédent : $base_de_donnees = "basedoccours"; //nom de la base de données 1 of 5 06/04/2006 13:23

$serveur="localhost"; //adresse du serveur. Ici localhost est le serveur local. Mais en général, on utilise l'adresse IP ou le nom de la Hote $nom="root"; //nom de l'utilisateur ayant droit sur la base de données, ici c'est l'administrateur général root $mot_de_passe=""; //mot de passe de cet utilisateur // connexion au serveur de base de données (mysql) $connexion = mysql_connect ($serveur, $nom, $mot_de_passe); //sélection de la base de données à utiliser pour les requête... mysql_close(); // fin de la connexion Dans l'exemple ci dessous on utilise une forme plus contractée des fonctions php/mysql: $Connexion = mysql_connect("localhost", "root", ""); if ($Connexion) echo "Connexion au serveur est réussie"; else echo "Désolé la connexion au serveur est impossible"; $connexionbase = mysql_select_db("basedoccours"); if ($connexionbase) echo "Connexion à la base de données est réussie"; else echo "Désolé, la connexion à la base est impossible";... mysql_close(); NB. mysql_select_db() renvoie un booléen utile pour savoir si la connexion a été réussie Mise à jour d'une base MySQL 2 of 5 06/04/2006 13:23

L'interaction avec un site dynamique implique la possibilité d'effectuer des mises à jours sur la base de données. un exemple est l'inscription d'un visiteur afin de lui accorder un droit d'utilisation de votre site ou une partie de site. L'utilisation d'un formulaire est la méthode normale de saisie des valeurs à insérer dans la base de données. Le formulaire On utilise le formulaire HTML : (saisie.htm) <html> <body> <form action="inserer.php" method="post"> Message : <input type="text" name="contenu" size="90" maxlength="255"> <input type="submit" value="insérer"> <input type="reset" value="rétablir"> </form> </body> </html> Le script PHP Comme indiquer dans l'attribut action de formulaire (saisie.htm), le script php d'insertion des données est contenu dans le fichier (inserer.php) $base_de_donnees="base1"; //nom de la base de données $serveur="localhost"; //adresse du serveur $nom="root"; //nom de l'utilisateur qui a des droits sur la base de données $mot_de_passe=""; //mot de passe de cet utilisateur // connexion au serveur de base de données (mysql) $connexion = mysql_connect ($serveur, $nom, $mot_de_passe); //sélection de la base de données à utiliser pour les requête //requête sql d'insertion du document 3 of 5 06/04/2006 13:23

$requete="insert into messages (contenu) "; $requete.= "values ('".$_POST['contenu']."');"; // exécution de la requête : on envoie la requête au serveur qui nous retourne le résultat if ($resultat = mysql_query ($requete)) echo "l'insertion s'est bien déroulée"; else echo mysql_error(); tester l'exemple Affichage du résultat Si la requête réussit, il ne reste plus qu'à récupérer le résultat et les afficher grâce au script suivant : header("pragma:no-cache"); $base_de_donnees="base1"; //nom de la base de données $serveur="localhost"; //adresse du serveur $nom="root"; //nom de l'utilisateur qui a des droits sur la base de données $mot_de_passe=""; //mot de passe de cet utilisateur // connexion au serveur de base de données (mysql) $connexion = mysql_connect ($serveur, $nom, $mot_de_passe); //sélection de la base de données à utiliser pour les requête //requête sql de sélection des messages $requete="select * from messages;"; // exécution de la requête : on envoie la requête au serveur qui nous retourne le résultat $resultat = mysql_query ($requete); <html> <body> //echo mysql_error(); si on souhaite déboguer la dernière requête exécutée, cette fonction permet de savoir l'erreur dans la requête 4 of 5 06/04/2006 13:23

for ( $i = 0 ; $i < mysql_num_rows ($resultat) ; $i++) { // pour chaque ligne de résultat, on affiche les données // mysql_num_rows ($resultat) retourne le nombre de ligne de résultat de la requête // positionnement sur la i ème ligne de résultat de la requête mysql_data_seek ($resultat, $i); // on stocke cette ligne dans un objet sous forme de pointeur $ligne = mysql_fetch_object ($resultat); echo "ligne de résultat numéro ".$i."<br>"; echo "Message : ".$ligne->contenu."<br><br>"; echo "<br><hr><br>"; } </body> </html> tester l'exemple Si vous avez bien compris "la philosophie" de l'interfaçage d'une base de données MySQL en utilisant les fonctions PHP, je vous invite à la séquence des travaux pratiques. 5 of 5 06/04/2006 13:23