PHP. PHP et base de données

Documents pareils
PHP. PHP et bases de données

PHP 4 PARTIE : BASE DE DONNEES

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. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Pratique et administration des systèmes

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

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

PDO : PHP Data Object 1/13

CREATION WEB DYNAMIQUE

Java DataBaseConnectivity

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

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

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

Bases de SQL. Hacks 1-6 CHAPITRE UN

OpenPaaS Le réseau social d'entreprise

Les BASES de DONNEES dans WampServer

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

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

Accès aux bases de données

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

Mysql avec EasyPhp. 1 er mars 2006

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

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

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

Installation et Mise en œuvre de MySQL

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

Olivier Mondet

Cours: Administration d'une Base de Données

Mercredi 15 Janvier 2014

SQL MAP. Etude d un logiciel SQL Injection

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

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

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

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

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

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

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

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

Information utiles. webpage : Google+ : digiusto/

Master I Génie Logiciel

3 chapitre Groupe Eyrolles, 2008

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

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

Programme Compte bancaire (code)

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

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

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)

1 Introduction et installation

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

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

SQL Historique

Bacula R - The Network Backup Solution

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

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

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

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

TP Programmation Java / JDBC / Oracle

CATALOGUE FORMATIONS DOMAINE Bases de données

CASE-LINUX MAIL - ROUNDCUBE

Application web de gestion de comptes en banques

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

Utilisation d Hyperplanning 2011

Bases de données cours 1

Projet de programmation (IK3) : TP n 1 Correction

Service d'authentification LDAP et SSO avec CAS

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

CREATION d UN SITE WEB (INTRODUCTION)

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

1. La plate-forme LAMP

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

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

FileMaker 13. Guide ODBC et JDBC

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

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

Evidian IAM Suite 8.0 Identity Management

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

SQL Server et Active Directory

RÉALISATION D UN SITE DE RENCONTRE

PostgreSQL. Formations. Catalogue Calendrier... 8

Open Source Job Scheduler. Installation(s)

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

MYSQLDUMP & ZRM COMMUNITY

Plateforme PAYZEN. Définition de Web-services

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

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

Eyes Of Network 4.0. Documentation d installation et de configuration

Zabbix. garder un oeil toujours ouvert. - Creative Commons BY-SA

Bases de données relationnelles : Introduction

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

Transcription:

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 de données APIs différentes en foncion des bases Principe similaire pour toutes les bases Connexion au serveur (host + user + password) Choix de la base ExécuIon d une requête Traitement ligne par ligne du résultat Fermeture de la connexion au serveur UnificaIon : 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 obsolète en PHP 5.5.0, suprimée en PHP 7.0.0 extension mysqli (dite mysql améliorée ) accès procédural accès objet pas dans ce cours Très proches en termes de foncionnalités Mêmes foncions avec syntaxes ideniques ou compaibles

PHP-MySQL et phpmyadmin

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 uilisateur est autorisé à accéder au serveur $passwd est le mot de passe associé à l uilisateur $dbname spécifie la base de données par défaut à uiliser lors de l exécuion 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éraions.

Connexion au serveur MySQL Déconnexion : La connexion établie prend fin automaiquement quand le script PHP est terminé Dès que possible : libèrer le serveur MySQL bool mysqli_close(myqli $conn) $conn est l idenifiant de connexion retourné par la foncion mysqli_connect() ceae foncion 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élecionnée avec la foncion mysqli_connect() (4ème paramètre) ; choix d une autre base avec bool mysqli_select_db(mysqli $conn, string $dbname) $conn est l idenifiant de connexion retourné par la foncion mysqli_connect() $dbname conient le nom de la base de données ceae foncion 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 idenifiant de connexion retourné par la foncion mysqli_connect() la chaîne $query conient le code de la requête SQL ceae foncion 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éalisaion de chaque requête SQL dans un script

Lecture du résultat d une requête Le résultat de l execuion d une requête SELECT peut être lu par la foncion mysqli_fetch_array() mixed mysqli_fetch_array(mysqli_result $result, int $typetab) $result est l idenifiant de jeu de résultats retourné par la foncion mysqli_query() ceae foncion 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 enière précisant si le tableau retourné doit être associaif (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 associaif, 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 indenifié par $result, ou FALSE s il n y a plus de ligne à lire parcours du résultat en uilisant des boucles

Lecture du résultat d une requête Les deux autres foncions suivantes permeaent 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 associaif 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)