PHP. PHP et bases de données

Documents pareils
PHP 4 PARTIE : BASE DE DONNEES

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

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)

Pratique et administration des systèmes

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

PDO : PHP Data Object 1/13

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

Java DataBaseConnectivity

CREATION WEB DYNAMIQUE

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

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

OpenPaaS Le réseau social d'entreprise

Accès aux bases de données

Licence Professionnelle Commerce Electronique. MySQL. Michel DUBOIS Michel Dubois : Support de cours SGBD N 1

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

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

Bases de SQL. Hacks 1-6 CHAPITRE UN

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Les BASES de DONNEES dans WampServer

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

Mysql avec EasyPhp. 1 er mars 2006

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

SQL Parser XML Xquery : Approche de détection des injections SQL

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

CATALOGUE FORMATIONS DOMAINE Bases de données

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Installation et Mise en œuvre de MySQL

1 Introduction et installation

SQL MAP. Etude d un logiciel SQL Injection

Mercredi 15 Janvier 2014

Cours: Administration d'une Base de Données

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

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

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

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

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

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

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

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

Présentation du module Base de données spatio-temporelles

Information utiles. webpage : Google+ : digiusto/

Master I Génie Logiciel

RÉALISATION D UN SITE DE RENCONTRE

Olivier Mondet

TP Contraintes - Triggers

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)

Application web de gestion de comptes en banques

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

3 chapitre Groupe Eyrolles, 2008

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Utilisation d Hyperplanning 2011

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

LES ACCES ODBC AVEC LE SYSTEME SAS

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

Bases de données cours 1

SQL Historique

Service d'authentification LDAP et SSO avec CAS

DÉPARTEMENT FORMATIONS 2015 FORMATION-RECRUTEMENT CATALOGUE. CONTACTS (+226)

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

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Les bases de données

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

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

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

SQL Server et Active Directory

PostgreSQL. Formations. SQL avancé Calendrier... 18

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

Introduction aux SGBDR

TP Programmation Java / JDBC / Oracle

Programme Compte bancaire (code)

Evidian IAM Suite 8.0 Identity Management

PostgreSQL. Formations. Calendrier... 14

FileMaker 13. Guide ODBC et JDBC

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

PostgreSQL. Formations. Catalogue Calendrier... 8

Présentation du PL/SQL

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

CREATION d UN SITE WEB (INTRODUCTION)

Atelier marin. - Vers un suivi optimal des lagons et récifs -

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

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Devenez un véritable développeur web en 3 mois!

Gestion des utilisateurs et de leurs droits

Bacula R - The Network Backup Solution

Plateforme PAYZEN. Définition de Web-services

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

Comprendre et optimiser la base de données WordPress WP TECH 2014

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

Projet de programmation (IK3) : TP n 1 Correction

Transcription:

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 APIs différentes en fonchon des bases Principe similaire pour toutes les bases - Connexion au serveur (host + user + password) - Choix de la base - ExécuHon d une requête - Traitement ligne par ligne du résultat - Fermeture de la connexion au serveur UnificaHon : PDO (PHP Data Objects)

Accés aux bases de données APIs différentes en fonchon des bases Principe similaire pour toutes les bases - Connexion au serveur (host + user + password) - Choix de la base - ExécuHon d une requête - Traitement ligne par ligne du résultat - Fermeture de la connexion au serveur UnificaHon : PDO (PHP Data Objects) pas dans ce cours

PHP et MySQL Depuis version 5 de PHP, deux extensions pour accéder à base de données MySQL - extension mysql - extension mysqli (dite mysql améliorée ) accès procédural accès objet Très proches en termes de fonchonnalités - Mêmes fonchons avec syntaxes idenhques ou compahbles

PHP et MySQL Depuis version 5 de PHP, deux extensions pour accéder à base de données MySQL - extension mysql obsolète - extension mysqli (dite mysql améliorée ) accès procédural accès objet Très proches en termes de fonchonnalités - Mêmes fonchons avec syntaxes idenhques ou compahbles

PHP et MySQL Depuis version 5 de PHP, deux extensions pour accéder à base de données MySQL - extension mysql obsolète - extension mysqli (dite mysql améliorée ) accès procédural accès objet pas dans ce cours Très proches en termes de fonchonnalités - Mêmes fonchons avec syntaxes idenhques ou compahbles

PHP-MySQL et phpmyadmin

Connexion au serveur MySQL mysqli mysqli_connect(string $host, string $username, string $passwd, string $dbname) - $host est une chaîne contenant le nom du serveur - $username est le nom sous lequel l uhlisateur est autorisé à accéder au serveur - $passwd est le mot de passe associé à l uhlisateur - $dbname spécifie la base de données par défaut à uhliser lors de l exécuhon de requêtes

Connexion au serveur MySQL mysqli_connect retourne un objet (de type mysqli) qui représente la connexion au serveur MySQL. Si la connexion n est pas établie, elle retourne FALSE. Il faut donc toujours tester la réussite de la connexion avant d effectuer d autres opérahons.

Connexion au serveur MySQL mysqli_connect retourne un objet (de type mysqli) qui représente la connexion au serveur MySQL. Si la connexion n est pas établie, elle retourne FALSE. Il faut donc toujours tester la réussite de la connexion avant d effectuer d autres opérahons.

Connexion au serveur MySQL mysqli_connect retourne un objet (de type mysqli) qui représente la connexion au serveur MySQL. Si la connexion n est pas établie, elle retourne FALSE. Il faut donc toujours tester la réussite de la connexion avant d effectuer d autres opérahons.

Connexion au serveur MySQL Déconnexion : - La connexion établie prend fin automahquement quand le script PHP est terminé - Dès que possible : libèrer le serveur MySQL - bool mysqli_close(myqli $conn) $conn est l idenhfiant de connexion retourné par la fonchon mysqli_connect() ce_e fonchon retourne TRUE en cas de succès et FALSE si une erreur survient

Connexion au serveur MySQL Choix de la base de données : - Base de données par défaut pour une connexion : sélechonnée avec la fonchon mysqli_connect() (4ème paramètre) ; choix d une autre base avec - bool mysqli_select_db(mysqli $conn, string $dbname) $conn est l idenhfiant de connexion retourné par la fonchon mysqli_connect() $dbname conhent le nom de la base de données ce_e fonchon retourne TRUE si la base $dbname existe et FALSE dans le cas contraire

Envoi de requêtes SQL au serveur Pour envoyer une requête : - mixed mysqli_query(mysqli $conn, string $query) $conn est l idenhfiant de connexion retourné par la fonchon mysqli_connect() la chaîne $query conhent le code de la requête SQL ce_e fonchon retourne FALSE en cas d echec. Pour des requêtes de type SELECT, SHOW, DESCRIBE ou EXPLAIN réussies, elle retournera un objet (de type mysqli_result). Pour les autres types de requêtes (UPDATE, DELETE,...) ayant réussies, elle retournera TRUE.

Envoi de requêtes SQL au serveur Il est recommandé d effectuer un test pour vérifier la bonne réalisahon de chaque requête SQL dans un script

Envoi de requêtes SQL au serveur Il est recommandé d effectuer un test pour vérifier la bonne réalisahon de chaque requête SQL dans un script

Envoi de requêtes SQL au serveur Il est recommandé d effectuer un test pour vérifier la bonne réalisahon de chaque requête SQL dans un script

Lecture du résultat d une requête Le résultat de l execuhon d une requête SELECT peut être lu par la fonchon mysqli_fetch_array() - mixed mysqli_fetch_array(mysqli_result $result, int $typetab) $result est l idenhfiant de jeu de résultats retourné par la fonchon mysqli_query() ce_e fonchon retourne un tableau contenant autant d éléments qu il y a de colonnes précisées dans la requête SELECT

Lecture du résultat d une requête $typetab est une constante enhère précisant si le tableau retourné doit être associahf (valeur MYSQLI_ASSOC), indicé (valeur MYSQLI_NUM) ou les deux à la fois (valeur MYSQLI_BOTH, qui est la valeur par défaut) Si le tableau est associahf, les clés du tableau sont les noms des colonnes de la table interrogée Si le tableau est indicé, l indice d un élément est celui de la colonne dans la requête, la première colonne ayant l indice 0

Lecture du résultat d une requête chaque nouvel appel de mysqli_fetch_array() retourne la ligne suivante du résultat indenhfié par $result, ou FALSE s il n y a plus de ligne à lire parcours du résultat en uhlisant des boucles

Lecture du résultat d une requête chaque nouvel appel de mysqli_fetch_array() retourne la ligne suivante du résultat indenhfié par $result, ou FALSE s il n y a plus de ligne à lire parcours du résultat en uhlisant des boucles

Lecture du résultat d une requête chaque nouvel appel de mysqli_fetch_array() retourne la ligne suivante du résultat indenhfié par $result, ou FALSE s il n y a plus de ligne à lire parcours du résultat en uhlisant des boucles

Lecture du résultat d une requête Les deux autres fonchons suivantes perme_ent de récupérer une ligne de résultat à la fois dans un tableau - mixed mysqli_fetch_assoc(mysqli_result $result), qui retourne un tableau uniquement associahf dont les clés sont les noms des colonnes de la table interrogée - mixed mysqli_fetch_row(mysqli_result $result), qui retourne un tableau uniquement indicé dont les indices sont les numéros des colonnes de la table interrogée - mysqli_fetch_assoc($result) se comporte comme mysqli_fetch_array($result, MYSQLI_ASSOC) - mysqli_fetch_row($result) se comporte comme mysqli_fetch_array($result, MYSQLI_NUM)