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



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 5. La base de données MySql. A. Belaïd 1

Mysql avec EasyPhp. 1 er mars 2006

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

PHP 4 PARTIE : BASE DE DONNEES

Olivier Mondet

Pratique et administration des systèmes

Stockage du fichier dans une table mysql:

PHP. PHP et bases de données

TP JAVASCRIPT OMI4 TP5 SRC

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

Attaques applicatives

CREATION d UN SITE WEB (INTRODUCTION)

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

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

OpenPaaS Le réseau social d'entreprise

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

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

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Application web de gestion de comptes en banques

Gestion de stock pour un magasin

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

A QUOI SERVENT LES BASES DE DONNÉES?

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

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

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

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

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

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

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

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

SYSTÈMES D INFORMATIONS

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

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)

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

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

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

Java DataBaseConnectivity

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

Les BASES de DONNEES dans WampServer

Bases de données et sites WEB

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

1 Position du problème

Gestion des utilisateurs et de leurs droits

Création et Gestion des tables

PHP 5.4 Développez un site web dynamique et interactif

Bases de SQL. Hacks 1-6 CHAPITRE UN

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

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Devoir Data WareHouse

PDO : PHP Data Object 1/13

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

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

I. MySQL : Serveur et SGBD

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Bases de données relationnelles

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

Guide d installation de SugarCRM Open Source version 4.5.1

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

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

Direction des Systèmes d'information

TP Contraintes - Triggers

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Programmation système I Les entrées/sorties

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

MS SQL Express 2005 Sauvegarde des données

(structure des entêtes)

Tutorial Terminal Server sous

Django et PostgreSQL sous la charge

Publier dans la Base Documentaire

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Module BD et sites WEB

SQL Historique

Compte Rendu d intégration d application

Techniques de Programmation pour Internet

La base de données XML exist. A. Belaïd

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Manuel d utilisateur 1

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

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

Langage SQL : créer et interroger une base

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

Formulaire pour envoyer un mail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Le protocole FTP (File Transfert Protocol,

Etude et développement d un moteur de recherche

Transcription:

Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54

1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation de fichiers 4 Transmission des données 5 PHP/MySQL 2 / 54

Plan 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation de fichiers 4 Transmission des données 5 PHP/MySQL 3 / 54

Les objets Définition d une classe class Personne { //Attributs var $nom ; var $prenom, $age ; //Constructeur function Personne ($n, $p, $a) { $this->nom = $n ; $this->prenom = $p ; $this->age = $a ; } } // La construction d un objet (ou instanciation) $p = new Personne( Toto, Jean, 36) ; // Quel est son âge? echo L âge de $p->prenom $p->nom est $p->age ans ; 4 / 54

Les objets Déclaration de méthodes : class Personne { // définition des attributs var $nom, $prenom, $age, // définition du constructeur portant le nom de la classe function Personne ($n, $p, $a) { $this->nom = $n ; $this->prenom = $p ; $this->age = $a ; } // définition de méthodes function presentetoi() { echo Bonjour, je m appelle \n ; echo $this->prenom.. $this->nom. \n ; echo j ai actuellement. $this->age. ans\n ; } } 5 / 54

Les objets Création d objet : $toto = new Personne( TOTO, Titi, 99) ; Accès aux attributs et aux méthodes : echo $toto->age ; $toto->presentetoi() ; 6 / 54

Héritage (1/2) Déclaration de la classe héritée Employe <? // fichier Employe.php require( Personne.php ) ; class Employe extends Personne { // attributs supplémentaires // $competences doit être un tableau var $service ; var $competences ; function Employe($ser, $c, $n, $p, $a) { $this->service = $ser ; $this->competences = $c ; $this->personne($n, $p, $a) ; } function ajout competence($comp) { if (! empty($comp) ) $this->competences[] = $comp ; } 7 / 54

Héritage (2/2) function presentetoi() { // appel de la méthode de la super-classe parent : :presentetoi() ; echo Je travaille dans le service $this->service <BR> ; if (sizeof($this->competences)>0) { echo Voici la liste de mes compétences : <ul> ; foreach ($this->competences as $competence) echo <li>$competence</li> ; echo </ul> <p> ; } } } // fin classe Employe?> 8 / 54

Les objets Particularités de PHP Les attributs et les méthodes sont publics Il n y a pas de destructeurs : les objets sont libérés automatiquement quand ils ne sont plus utilisés. (?) La durée de vie d un objet n excède pas la durée d exécution du script qui le crée. 9 / 54

Linéarisation serialize() : fonction qui transforme les objets en une chaîne de caractères <?php $toto = new Personne( TOTO, titi,99) ; $toto Lineaire = serialize($toto) ; $toto de Depart = unserialize($toto Lineaire) ; $toto de Depart->decritToi() ;?> 10 / 54

Les fonctions magiques Supposant que les objets ont ouvert une connexion à une base de données et ne l ont pas encore fermée = il est préférable de s assurer que certaines opérations soit effectuées avant que l objet ne soit linéarisé C est le rôle de la fonction magique sleep(). Cette fonction, si elle existe dans l objet sera automatiquement appelée par la fonction serialize() et permettra de fermer toute vos connexions La fonction sleep() retourne obligatoirement un tableau contenant la liste des attributs à linéariser. La fonction magique wakeup() est, si elle existe, automatiquement appelée par la fonction unserialize(). Elle pourra alors reconnecter l objet à la base de données ou réinitialiser certains attributs. 11 / 54

Les fonction magiques : un exemple <?php class Personne {... function sleep() { $this->age = 0 ; return array( age ) ; } function wakeup() { $this->age = 100 ; } }?> 12 / 54

Plan 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation de fichiers 4 Transmission des données 5 PHP/MySQL 13 / 54

Timeout par défaut, au bout de 30 secondes d exécution (directive max execution time), le script passe à l état TIMEOUT set time out(sec) : modifier la valeur de timeout connection timeout : retourne TRUE si le timeout est arrivé à échéance la fonction de terminaison pré-enregistrée avec register shutdown function(func) est appelé quand le timeout expire 14 / 54

Les sessions Une session PHP permet de stocker des informations de l utilisateur sur le serveur (son panier, ses identifiants de connection... ) Ceci offre un haut niveau de sécurité ( à l inverse des cookies qui stockent les informations directement sur la machine du client) Une session est temporaire et est effacé très rapidement du serveur. (Le temps moyen est de 30 minutes par défaut) 15 / 54

Gestion des session PHP permet de sauver des informations entre deux requêtes HTTP (valeur de variables) avec PHP3, il faut une bibliothèque complémentaire inclus dans PHP4 Principes (avec PHP4) chaque nouvel utilisateur se voit attribuer un identificateur de session (SID) par défaut, ce numéro est transmis à l aide d un cookie ; sinon (si l utilisateur n accepte pas les cookies) PHP propage directement le SID via l URL quand un utilisateur accède à la page, PHP4, vérifie si un identificateur de session est présent dans la requête HTTP 16 / 54

Les sessions Le démarrage d une session se fait dans les cas suivants : session.auto start=on dans php.ini lors de l appel de session start() ou de session register() dans le cas où le numéro de session est valide, tout l environnement de celle-ci est restauré dans $ SESSION session destroy pour détruire une session, session unregister() pour dé-enregistrer une variable Par des défaut, les variables de session sont stockées dans un fichier du serveur Le code de démarrage de session doit être inclus dans la page avant tout code HTML 17 / 54

Gestion de sessions : un exemple <?php // dans une fichier F1.php session start() ; session register( user ) ; // $user sera sauvegardé $user = toto ;?> <?php // dans un fichier F2.php session start() ; echo Vous êtes {$ SESSION[ user ]} ; //va afficher Vous êtes toto?> 18 / 54

Gestion des cookies setcookie() permet de mettre en place un cookie (envoie vers le client) La fonction setcookie doit être placé avant tout code HTML syntaxe : setcookie( name, value,expire, path, domain, secure) expire : est un time stamp UNIX secure : vaut 0 ou 1 print($ COOKIE) : affiche tous les cookies en provenance du client 19 / 54

Gestion des cookies Mise en place d un cookies : <?php // le cookie expire dans 3 heures setcookie( nb visite, 1,mktime()+3600*3,/ /MesPages, cmi.univ-mrs.fr ) ;?> <HTML>...</HTML> Effacement d un cookie setcookie( nb visite,mktime()-1) ; Lecture / modification d un cookie setcookie( nb visite, 100,mktime()+3600*3,/ /MesPages, cmi.univ-mrs.fr ) ; 20 / 54

Plan 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation de fichiers 4 Transmission des données 5 PHP/MySQL 21 / 54

manipulation de fichiers/répertoire fopen() : ouverture d un fichier (il est possible de fournir une URL pour les ficheirs distants) fclose() : fermeture d un fichier fread()/fgets()/fwrite()/fputs() : lecture/écriture dans un fichier fgetss() : lire une ligne dans un fichier en supprimant les balises HTML rewind()/ fseek()/ ftell() : positionnement dans le fichier fpassthru() : lit la totalité du fichier et l affiche sur la sortie standard file exists : teste si le fichier existe copy()/rename() /unlink() : copie/ renomme / efface un fichier. 22 / 54

Manipulation de fichiers : exemples Affichage d une image : <?php if(! $fd = fopen( Mes images/image1.gif ) ) echo Problème d ouverture ; else fpassthru($fd) ; fclose($fd) ;?> Copie d un fichier <?php $fichier= image.gif ; if (file exists($fichier)) copy($fichier, /Library/.$fichier) ; else echo Le fichier $fichier n existe pas ;?> 23 / 54

Manipulation de répertoires chdir() : changement de répertoire courant opendir()/closedir() / mkdir() / rmdir() : ouverture, fermeture, création, suppression de répertoire rewind() : repositionnement au début de répertoire dir() : instanciation d un objet répertoire Exemple : lister le contenu d un répertoire (commande ls) <? $rep=dir( /home/dupond ) ; $rep->rewinddir() ; while($f = $rep->readdir()) echo $f \n ; $rep->closedir()?> 24 / 54

Téléchargement d un fichier Il est possible de recevoir des fichiers en provenance du client et d y associer un traitement réception par la méthode POST : une boite de dialogue permet à l utilisateur de sélectionner un fichier local <FORM ENCTYPE= mulipart/form-data ACTION=... METHOD= POST > <INPUT TYPE= hidden NAME= MAX FILE SIZE VALUE= 999 > Envoie ce fichier :<INPUT NAME= userfile TYPE= file > < TYPE= submit VALUE= Envoyer le fichier > </FORM> 25 / 54

Téléchargement de fichier le fichier téléchargé sera stocké temporairement dans un répertoire ($TMPDIR) sur le serveur is uploaded file() : vérifier si le fichier à été bien téléchargé 26 / 54

Téléchargement de fichiers Information reçus par PHP dans $ FILES le champ caché MAX FILE SIZE permet à PHP de faire des vérifications sur la taille du fichier téléchargé $ FILE[ userfile ][ name ] : nom original du fichier sur la machine client $ FILE[ userfile ][type ] : type MIME du fichier $ FILE[ userfile ][ size ] : taille du fichier en octets $ FILE[ userfile ][ tmp name ] : nom temporaire du fichier qui sera chargé sur la machine serveur $ FILE[ userfile ][ error ] : 0 en cas de réussite du téléchargement 27 / 54

Plan 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation de fichiers 4 Transmission des données 5 PHP/MySQL 28 / 54

Transmission des données <form method= post action= cible.php > On insèrera ici les éléments de notre formulaire.... </form> Attribut method : 2 manières (2 méthodes) pour envoyer un formulaire : 1 get : les données transiteront par l URL (on les voie dans la barre d adresse) on pourra les récupérer grâce au tableau $ GET 2 post : données ne transiteront pas par l URL on pourra les récupérer grâce au tableau $ POST Attribut action : désigne la page (ex. cible.php ) qui recevra les données du formulaire et qui sera chargée de les traiter. 29 / 54

Transmission de données : petite zone de texte // fichier : formulaire.php <p> Cette page ne contient que du HTML.<br /> Veuillez taper votre prénom : </p> <form action= cible.php method= post > <p> <input type= text name= prenom /> <input type= submit value= Valider /> </p> </form> // fichier : cible.php Tu t appelles <?php echo $ POST[ prenom ] ;?>!<br> Si tu veux changer de prénom, <a href= formulaire.php >clique ici</a> pour revenir à formulaire.php 30 / 54

Transmission de données : grande zone de texte Code HTML : <textarea name= message rows= 8 cols= 45 > Votre message ici. </textarea> $ POST[ message ] : pour récupérer le contenu de la zone du texte 31 / 54

Transmission de données : liste déroulante Code HTML : <select name= choix > <option value= choix1 >Choix 1</option> <option value= choix2 >Choix 2</option> <option value= choix3 >Choix 3</option> <option value= choix4 >Choix 4</option> </select> = une variable $ POST[ choix ] sera créée, elle contiendra le choix qu a fait l utilisateur. S il a choisi Choix 3, la variable $ POST[ choix ] sera égale au value correspondant, c est-à-dire choix3. Liste à choix multiple? : $ POST[ choix ][$i] ; 32 / 54

Transmission de données : case à cocher Case à cocher : $ POST[ case name ] Si la case est cochée, alors $ POST[ case ] aura pour valeur on sinon, $ POST[ case name ] n existe pas ; (on peux faire un test avec isset ($ POST[ case name ])) 33 / 54

Transmission de données : boutons d option Les boutons d option Code HTML : Aimez-vous le Foot? <input type= radio name= Foot value= oui checked= checked > Oui <input type= radio name= Foot value= non > Non si on a choisit Oui alors $ POST[ Foot ] vaut oui 34 / 54

Plan 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation de fichiers 4 Transmission des données 5 PHP/MySQL 35 / 54

PHP et MySQL PHP permet d accéder à de nombreuses SGBD (MySQL, Oracle,...) la plupart de ces SGBD sont accessible via le langage SQL (Structured Query Langage) qui permet de réaliser des requêtes à la base de données les fonctionnalités de bases de SQL : connexion au serveur de BD (machine, login, passwd) sélection du nom de la base à utiliser requête SQL vers la base exploitation du résultat de la requête (affichage,...) déconnexion 36 / 54

PHP et MySQL Exemples de commandes SQL : une table contenant 3 champs (Id, Nom, Prenom) CREATE DATABASE MaBase CREATE TABLE Personne (Id INT(2) NOT NULL, NOM VARCHAR(25), Prenom VARCHAR(25), PRIMARY KEY(Id)) INSERT INTO Personne VALUES ( 1, Dupond, Jack ) INSERT INTO Personne VALUES ( 2, Durant, Paul ) SELECT Nom, Prenom FROM PERSONNE DELETE FROM Personne WHERE NOM= Dupont PHP n est qu un intermédiaire entre le client et la base de données 37 / 54

PHP et MySQL Configuration de PHP/MySQL : voir php.ini Les fonctions les plus courantes, utilisées pour accéder à une base MySQL mysql connect() : ouvrir une connexion avec le serveur de BD mysql select db() : changer la base active sur la connexion en cours mysql list *() : lister les bases (dbs), les tables (tables), les champs d une table (field) disponibles sur le serveur de BD mysql query() : envoyer une requête SQL ; un identifiant est retourné pour pour pouvoir traiter le résultat mysql close() : fermer la connexion avec le serveur 38 / 54

PHP et MySQL Traitement du résultat d une requête SQL : mysql result() : extraire le contenu d un champ du résultat mysql fetch *() : transforme une ligne du résultat du résultat en tableau associatif (dont les clés sont les noms des champs ou l indice de la colonne) en objet (dont les propriétés sont les noms des champs) mysql field *() : obtenir des informations sur les champs présents dans le résultat (type, nom,...) mysql free result() : effacer le résultat de la mémoire mysql num fields() et mysql num rows() retournent respectivement le nombre de champs/lignes du résultat. 39 / 54

PHP et MySQL Connexions persistantes au serveur avec mysql pconnect() : la connexion reste ouverte entre l exécution de 2 scripts/requêtes différents la connexion n est plus fermée automatiquement à la fin du script PHP accélère les accès à la base de donnée quand ces derniers sont fréquents la connexion sera fermée automatiquement après un certain temps d inutilisation 40 / 54

PHP et MySQL Traitement des erreurs : 3 possibilité 1 $conn=mysl connect($host, $user, $passwd) ; : = si la fonction échoue, le programme continue 2 $conn=mysl connect($host, $user, $passwd) or die( Connexion impossible!! ) ; = si la fonction échoue, un message est affiché et le programme se termine ( die( message ) est un alias de la fontcion exit ) 3 if (! $conn=mysql connect($host, $user, $passwd)) {$msg = mysql error() ; echo( msg ) ; exit ;} = si la fonction échoue, le message d erreur est affiché et le programme se termine ($mysql error() permet de récupérer le diagnostique d échec correspondant au dernier accès au serveur ) 41 / 54

PHP et MySQL : exemple (1/2) <?php /* ajout personne.php : ajoute la personne ($nom,$prenom) dans la table Personne de la base MaBase (déja créées) et affiche la table complète */ /* connexion */ $host = localhost ; $user= toto, $passwd= titi ; $base= MaBase ; $table= Personne ; $conn=mysql connect($host,$user,$passwd) or die( connexion impossible ) ; mysql select db($base,$conn) or die ( sélection impossible ) ; /* Recherche de l Id suivant dans la table, on suppose que Id= numéro de la ligne*/ $query= SELECT * FROM $table ; $result=mysql query($query) or die( echecs de la requete 1 ) ; $next id =mysql num rows($result) + 1 ; mysql free result($result) ; /* Ajout de ($next id,$nom,$prenom) dans la table */ $query= INSERT INTO $table VALUES( $next id, $nom, $prenom ) ; mysql query($query) or die ( Echecs de la requete 2 ) ; 42 / 54

PHP et MySQL : exemple (2/2) /* Affichage complet de la table */ $query = SELECT Nom,Prenom, FROM $table ; $result = mysql query($query) or die ( Echec de la requete 3 ) ; echo <table>\n ; while($ligne= mysql fetch array($result,mysql ASSOC)){ echo <tr> ; foreach($ligne as $valeur champ){ echo <td>$valeur champ</td> ;} echo </tr> ; } echo </table> ; /* Liberation du résultat */ mysql free result($result) ; /* Fermeture de la connexion*/ mysql close($conn) ;?> 43 / 54

Quelques fonctions MySql ( /) bool mysql select db ( string $database name, resource $link identifier ) : sélectionne une base de données MySQL sur le serveur associé avec le paramètre $link identifier. Chaque appel à la fonction mysql query sera exécutée sur la base de données active. $database name le nom de la base de données à sélectionner. $link identifier : la connexion MySQL. 1 S il n est pas spécifié, la dernière connexion ouverte avec la fonction mysql connect sera utilisée. 2 Si une telle connexion n est pas trouvée, la fonction tentera d ouvrir une connexion, comme si la fonction mysql connect avait été appelée sans argument. 3 Si aucune connexion n est trouvée ou établie, une alerte E WARNING est générée. Cette fonction retourne TRUE en cas de succès, FALSE en cas d échec. 44 / 54

Quelques fonctions MySql int mysql affected rows ([ resource $link identifier ] ) : le nombre des lignes touchées par la dernière requête : INSERT, UDPATE, REPLACE et DELETE asssocié à $link identifier. Ex. mysql query( DELETE FROM mytable WHERE 0 ) ; printf( Nombre de lignes suprimés :, mysql affected rows()) ; bool mysql create db ( string $database name [, resource $link identifier ] ) : crée(?) une nouvelle base de donnée sur le serveur dont l identifiant est $link identifier. 45 / 54

Quelques fonction MySql array mysql fetch array ( resource $result [, int $result type = MYSQL BOTH ] ) : retourne une ligne de résultat MySQL sous la forme d un tableau associatif, d un tableau indexé, ou les deux $result La ressource de résultat qui vient d être évaluée. Ce résultat vient de l appel à la fonction mysql query(). $result type : Le type de tableau à récupérer. C est une constante qui peut prendre les valeurs suivantes : MYSQL ASSOC, MYSQL NUM, et la valeur par défaut est MYSQL BOTH. 46 / 54

Exemple : mysql fetch array avec MYSQL NUM <?php mysql connect( localhost, mysql user, mysql password ) or die( Impossible de se connecter :. mysql error()) ; mysql select db( mydb ) ; $result = mysql query( SELECT id, name FROM mytable ) ; while ($row = mysql fetch array($result, MYSQL NUM)) { printf( ID : Nom :, $row[0], $row[1]) ; } mysql free result($result) ;?> 47 / 54

Exemple : mysql fetch array avec MYSQL ASSOC <?php mysql connect( localhost, mysql user, mysql password ) or die( Impossible de se connecter :. mysql error()) ; mysql select db( mydb ) ; $result = mysql query( SELECT id, name FROM mytable ) ; while ($row = mysql fetch array($result, MYSQL NUM)) { printf( ID : Nom :, $row[ id ], $row[ name ]) ; } mysql free result($result) ;?> 48 / 54

Exemple : mysql fetch array avec MYSQL BOTH <?php mysql connect( localhost, mysql user, mysql password ) or die( Impossible de se connecter :. mysql error()) ; mysql select db( mydb ) ; $result = mysql query( SELECT id, name FROM mytable ) ; while ($row = mysql fetch array($result, MYSQL NUM)) { printf( ID : Nom :, $row[0], $row[ name ]) ; } mysql free result($result) ;?> 49 / 54

Quelques fonctions MySql array mysql fetch assoc ( resource $result ) : équivalent à mysql fetch array() avec MYSQL ASSOC comme 2 ième paramètre. array mysql fetch row ( resource $result ) : retourne un tableau indexé numériquement, qui correspond à la ligne du résultat MySQL $result int mysql field len ( resource $result, int $field offset ) : retourne la taille d un champ de résultat MySQL 50 / 54

Quelques fonctions MySql object mysql fetch field( resource $result, int $field offset) : retourne les données enregistrées dans une colonne MySQL sous forme d objet $result : la ressource de résultat qui vient d être évaluée. Ce résultat vient de l appel à la fonction mysql query. field offset : la position numérique du champ. Retourne un objet contenant les informations sur les champs. Les propriétés de l objet sont : 1 name - nom de la colonne 2 table - nom de la table de la colonne 3 def - valeur par défaut de la colonne 4 max length - taille maximale de la colonne 5 not null - 1 si la colonne ne peut pas être NULL 6 primary key - 1 si la colonne est une clé primaire 7 unique key - 1 si la colonne est une clé unique 8 multiple key - 1 si la colonne est une clé non unique 9 numeric - 1 si la colonne est numérique 10 type - le type de la colonne 11 unsigned - 1 si la colonne est non signée 12... 51 / 54

Quelques fonctions MySql bool mysql drop db ( string $database name] ) : supprimer une base de donnée string mysql error ([ resource $link identifier ] ) : retourne le message d erreur (sous forme de texte) de la dernière requête int mysql field len ( resource $result, int $field offset ) : retourne la longueur du champ spécifié (?) string mysql info ([ resource $link identifier ] ) : retourne des informations détaillées sur la dernière requête int mysql insert id ([ resource $link identifier ] ) : retourne l ID généré par la dernière requête (i.e. INSERT) 52 / 54

Quelques fonctions MySql resource mysql list dbs ([ resource $link identifier ] ) : la liste des bases de donnée présentes sur le serveur MySql resource mysql list fields ( string $database name, string $table name [, resource $link identifier ] ) : la liste des champs d une table resource mysql list processes ([ resource $link identifier ] ) : la liste des processus (?) resource mysql list tables ( string $database [, resource $link identifier ] ) : la liste des tables de la base de donnée int mysql num fields ( resource $result ) : le nombre de champs d une requête int mysql num rows ( resource $result ) : le nombre de lignes d une requête 53 / 54

Quelques fonctions MySql bool mysql ping ([ resource $link identifier ] ) : teste si le connexion avec le serveur est encore établie, sinon reconnexion. resource mysql query(string $query [,resource $link identifier ] ) : envoie une seule requête string mysql result(resource $result, int $row [, int $field=0]) : retourne le contenu d un champ de la requête (?) 54 / 54