Programmation PHP / PDO

Slides:



Advertisements
Présentations similaires
Introduction Fonctionnement PluginsConfigurationLes données Le framework MAG Framework de conception de canaux complexes Implémente IChannel Possède son.
Advertisements

MySQL et PHP.
Les Bases de données et le Web
Stéphane Frenot - Département Télécommunication - SID - II - Jdbc 280 JDBC Java Databases Connectivity.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
Jérôme CUTRONA PHP PDO Jérôme CUTRONA 01:08:01 Programmation Web
Développement d’applications web
L’utilisation des bases de données
Le langage PHP 5.
JDBC ou comment manipuler une base de données en Java ?
A4.1.1 Proposition dune solution applicative A4.1.2 Conception ou adaptation de linterface utilisateur dune solution applicative A4.1.2 Conception ou.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
MySQL Création des sites dynamiques
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
CPI/BTS 2 Programmation Web PHP et les Bases de données Prog Web CPI/BTS2 – M. Dravet – 11/03/2004 Dernière modification: 11/03/2004.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Les systèmes de gestion de base de données (SGBD)
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 10 Accès distant aux bases de données.
Jérôme CUTRONA PHP PDO Jérôme CUTRONA 07:21:24 Programmation Web
JDBC - p. 1 JDBC. JDBC - p. 2 Objectifs Fournir un accès homogène aux SGBDR Abstraction des SGBDR cibles Requêtes SQL Simple à mettre en oeuvre Core API.
Bases de données Singleton pour la connexion
Analyse, élaboration et exploitation d’une Base de Données
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Toulibre : présentation de... par Rémy Sanchez +.
Oubliez SQL avec SQLAlchemy Pycon.fr 2009 Michael Scherer.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL query - 1 UPMC - UFR 919 Ingéniérie - Cours Bases de données (BD-L3) SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
WIKITTY Base de données orientée documents et API de persistance pour Java.
Cross-Plateform Cours JavaScript
Framework EHop/Ecenvir
Qui fait de la programmation Quels sont les besoins
DBStation Date 06/12/16 Rédacteurs Hervé FAUVET et Bruno GUEDJ.
Environnement du développement de BD ORACLE REPORTS 10g
I- ANALYSE DU BESOIN / Plan
Robotisation de la ligne transitique
Introduction aux Systèmes de Gestion de Bases de données
ملخص Initiation à la sgbdr
PHP & MYSQL.
INSIA SRT 3 PAM !.
Les instructions PHP pour l'accès à une base de données (Partie 4)
Outils de gestion documentaire
Les bases de données et le modèle relationnel
Introduction Bases de données Accès Internet (Web)
Sécurité - Configuration de -
Changer les critères de nommage
fonctionnalités iiS iis
Comment fonctionne RADIUS?
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Introduction BD TABLES ET DONNÉES champs OU données, types de données
Programmation en C++ C++ de base
Programmation Android Bases De Données, SQL-lite
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Programmation. Définition programmation
© Robert Godin. Tous droits réservés.
Programmation Web : DOM en PHP
© Robert Godin. Tous droits réservés.
Jérôme CUTRONA PHP objet Jérôme CUTRONA 08:30:34 Programmation Web
ISI5 Développement d’interfaces Homme-Machine
© Robert Godin. Tous droits réservés.
Jérôme CUTRONA PHP PDO Jérôme CUTRONA 23:38:06 Programmation Web
Bases de données Singleton pour la connexion
© Robert Godin. Tous droits réservés.
TP N°4 Développement d’ une application
TP N°5: Partie I Programme Serveur.
Transcription de la présentation:

Programmation PHP / PDO

Programmation PHP / PDO Introduction Programmation PHP / PDO

Programmation PHP / PDO PDO : PHP Data Objects Extension PHP fournissant une interface pour accéder à une base de données Fournit une interface d'abstraction pour l'accès aux données Ne fournit PAS une abstraction de base de données SQL spécifique au moteur Fonctionnalités présentes / absentes Interface orientée objet Programmation PHP / PDO

Bases de données supportées Nom du pilote Bases de données prises en charge PDO_CUBRID Cubrid PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase PDO_FIREBIRD Firebird PDO_IBM IBM DB2 PDO_INFORMIX IBM Informix Dynamic Server PDO_MYSQL MySQL 3.x/4.x/5.x PDO_OCI Oracle Call Interface PDO_ODBC ODBC v3 (IBM DB2, unixODBC et win32 ODBC) PDO_PGSQL PostgreSQL PDO_SQLITE SQLite 3 et SQLite 2 PDO_SQLSRV Microsoft SQL Server / SQL Azure PDO_4D 4D Programmation PHP / PDO

Programmation PHP / PDO Échanges de données Serveur Web Script PHP 2 Requête HTTP 1 Résultat BD 5 Réponse HTTP 6 Connexion BD 3 Requête BD 4 Affichage résultat 7 BD Mon PC Serveur BD Programmation PHP / PDO 5

Programmation PHP / PDO Classes prédéfinies PDO : connexion PHP / base de données __construct() exec(), prepare(), query() errorCode(), errorInfo() getAttributes(), setAttribute() lastInsertId(), quote() beginTransaction() commit(), rollBack() getAvailableDrivers() Programmation PHP / PDO

Programmation PHP / PDO Comment se connecter ? Programmation PHP / PDO

Connexions et gestionnaire de connexion Instanciation d'un objet PDO $dbh=new PDO(DSN [, user [, pass [, options]]]); DSN : Data Source Name nom_du_driver:syntaxe_spécifique_au_driver Ex : mysql:host=localhost;dbname=ma_base user : nom d'utilisateur, pass : mot de passe options : tableau associatif spécifiques au driver Ex : array(PDO::ATTR_PERSISTENT => true)) ; Fin de connexion : $dbh=null ; ou unset($dbh) ; Programmation PHP / PDO

Gestion des erreurs de connexion <?php try { $dbh = new PDO('mysql:host=h;dbname=db', $user, $pass) ; … $dbh = null ; } catch (PDOException $e) { echo "<p>Erreur: ".$e->getMessage() ; die() ; ?> Programmation PHP / PDO

Programmation PHP / PDO EFFECTUER UNE REQUÊTE Programmation PHP / PDO

Exécution d'une requête PDOStatement PDO::query ( string statement ) <?php try { $pdo = new PDO("mysql:host=localhost") ; $pdostat = $pdo->query("SELECT * FROM clients") ; } catch (Exception $e) { echo "<p>ERREUR : ".$e->getMessage() ; Résultat de requête Requête Programmation PHP / PDO

Exploitation des résultats d'une requête Récupération des données ligne à ligne Une ligne peut être : un tableau indexé un tableau associatif un tableau mixte (par défaut) un objet anonyme un objet d'une classe définie par l'utilisateur Récupération des données d'une colonne Programmation PHP / PDO

Parcours du résultat d'une requête Parcourir le résultat de la requête SELECT * FROM morceau ORDER BY mor_id Résultat de requête Curseur interne +--------+------------------------------------+ | mor_id | mor_nom | | 872 | With A Little Help From My Friends | | 873 | The Letter | | 874 | Marjorine | | 875 | Midnight Rider | | 876 | You Are So Beautiful | | 877 | Feelin' Allright | | 878 | Cry Me A River | ... Programmation PHP / PDO

Exploitation des résultats d'une requête (1) try { $pdo=new PDO("mysql:host=localhost;dbname=mysql") ; $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdostat = $pdo->query("SELECT name FROM user") ; $pdostat->setFetchMode(PDO::FETCH_ASSOC) ; foreach ($pdostat as $ligne) { echo "<p>" . $ligne['name'] . "\n" ; } catch (Exception $e) { echo "<p>ERREUR : ".$e->getMessage() ; Programmation PHP / PDO

Exploitation des résultats d'une requête (2) try { $pdo=new PDO("mysql:host=localhost;dbname=mysql") ; $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdostat = $pdo->query("SELECT name FROM user") ; foreach ($pdostat->fetchAll(PDO::FETCH_ASSOC) as $ligne) { echo "<p>" . $ligne['name'] . "\n" ; } catch (Exception $e) { echo "<p>ERREUR : ".$e->getMessage() ; Programmation PHP / PDO

Exploitation des résultats d'une requête (3) try { $pdo=new PDO("mysql:host=localhost;dbname=mysql") ; $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdostat = $pdo->query("SELECT name FROM user") ; while ($ligne = $pdostat->fetch(PDO::FETCH_ASSOC)) { echo "<p>" . $ligne['name'] . "\n" ; } catch (Exception $e) { echo "<p>ERREUR : ".$e->getMessage() ; Programmation PHP / PDO

Modes de récupération des données (1) PDO::FETCH_ASSOC retourner chaque ligne dans un tableau indexé par les noms des colonnes comme elles sont retournées dans le jeu de résultats correspondant. Si le jeu de résultats contient de multiples colonnes avec le même nom, PDO::FETCH_ASSOC retourne une seule valeur par nom de colonne. PDO::FETCH_NUM retourner chaque ligne dans un tableau indexé par le numéro des colonnes comme elles sont retournées dans le jeu de résultats correspondant, en commençant à 0. Programmation PHP / PDO

Modes de récupération des données (2) PDO::FETCH_OBJ retourner chaque ligne dans un objet avec les noms de propriétés correspondant aux noms des colonnes comme elles sont retournées dans le jeu de résultats. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE retourner une nouvelle instance de la classe demandée, liant les colonnes aux propriétés nommées dans la classe. Nom de la classe = 1ère colonne. Programmation PHP / PDO

Exemple avec PDO::FETCH_CLASS $stmt = $pdo->query("SELECT id, name FROM artist WHERE id = 12") ; $stmt->setFetchMode(PDO::FETCH_CLASS, 'Artist') ; if (($object = $stmt->fetch()) !== false) { return $object ; } Instancie un objet de la classe Artist dont les attributs sont supposés être id et name Programmation PHP / PDO