• Aucun résultat trouvé

[PDF] MySQL avec php pdf cours complet avec exemples et exercices | Cours mysql

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] MySQL avec php pdf cours complet avec exemples et exercices | Cours mysql"

Copied!
14
0
0

Texte intégral

(1)

Qu'est-ce que Mysql?

Annie Danzart

Annie.Danzart@enst.fr

http://www.infres.enst.fr/~danzart/mysql/

(2)

Qu’est-ce que Mysql ?

•  Aperçu

•  Langage

•  Le serveur

•  La base de données

•  Interfaces d’accès

•  Fonctions php d’accès et de manipulation

•  Exploitation de l’envoi d’une requête

(3)

Qu’est-ce que Mysql ?

•  Système de Gestion de Bases de Données relationnelles

•  Libre de droits (license GPL)

http://www.mysql.com/

•  Langage de manipulation de bases de données

•  Serveur mysqld, commande mysql

•  Base de données mysql en tant que telle

(bases, utilisateurs)

•  Fonctions d'accès intégrées dans de nombreux langages

(4)

Mysql : le langage

SQL-like avec quelques restrictions

requêtes

mysql > create database essai; mysql > show databases;

mysql > drop database essai; mysql > use essai;

mysql > drop table if exists table1; mysql > create table table1 (

ID int default '0' not null auto_increment; nom text;

numero int;

primary key (ID) );

mysql > show columns from table1;

mysql > insert into table1 (nom, numero) values ("toto","123451"); mysql > select * from table1;

mysql > delete from table1 where numero=" 123451";

(5)

Mysql : le serveur

Interface de base fournie avec l'environnement

exemple

> mysql -h mysql.tp.enst.fr -u user -p -h : hôte ( adresse IP )

-u : utilisateur ( accès spécifique )

-p : mot de passe ( défini au moment de la création

sera fourni après validation de la commande ) Après validation de la commande, une session est ouverte qui permet de

frapper directement des commandes mysql

(6)

Mysql : la base de données

user : table des utilisateurs référencés

db

: table des bases existantes

host

: table des droits d'accès par hôte

user

host/user/password

droits utilisateur / administrateur dans mysql

db

host/db/user/select/insert/update/delete/alter/drop/create droits d'accès des utilisateurs pour chaque base

host

host/db/select/insert/update/delete/alter/drop/create

(7)

Mysql : interfaces d’accès

administration

utilisateur référencé et averti

public

commande mysql : requêtes sql

phpMyAdmin :

(http://www.infres.enst.fr/packages/phpMyAdminTp/)

outil d'administration de mysql plus convivial

pas de contrôle de cohérence des données

interfaces personnalisées :

adaptées à un besoin particulier

(8)

8

mysqld

bases

Serveur Mysql

mysql.infres.enst.fr

Serveur de fichiers

infres.enst.fr

~danzart/public_html/exemple2.php

Poste client

Comment ça marche ?



http://www.infres.enst.fr/~danzart/exemple2.php

firefox

Serveur Apache

www.infres.enst.fr

httpd

mod_php5

2

3

4 7

5

6

1

8

(9)

Fonctions php d’accès à Mysql

Exemples

: $connexion = mysql_connect("mysql.tp.enst.fr","user","motdepasse") mysql_close($connexion); mysql_create_db("nom",$connexion); $mysql_result=mysql_list_dbs($connexion); mysql_drop_db("test"); mysql_select_db("CD_test",$connexion); $requete="create table ..."; mysql_query($requete); $mysql_result=mysql_list_fields("base","table",$connexion);

Le login et le mot de passe sont exprimés "en clair" dans le script :

-> les stocker dans un fichier difficile d'accès à inclure dans les pages "connexion_inc.php"

(10)

Exploitation du résultat d’une requête

<?php

// lecture des parametres de connexion a la base de donnees

include("connexion_inc.php");

// ouverture de la connexion : mysql_connect() ou mysql_pconnect()

$connexion = @mysql_connect($hote,$utilisateur,$password)

or die("Pb de connexion");

// choix de la base de données

mysql_select_db($base);

// prendre la liste des champs de la table produits de la base magasin_test

$query = "SELECT * FROM produits ORDER BY P_ID DESC;";

$mysql_result = @mysql_query($query) ;

echo $query; // afficher le texte de la requête en phase de mise au point

if ($mysql_result == FALSE) {echo "Connexion impossible"; exit;}

// prendre chaque rangée

while ($ligne = mysql_fetch_array($mysql_result))

{ // afficher le nom du produit

// mettre en forme les résultats dans une liste, un tableau html, …

print($ligne["P_nom"]); }

?>

(11)

Fonctions php d’accès à Mysql

int mysql_query($requete [,$connexion]),

int mysql_db_query($db,$requete [,$connexion]):

// pour envoyer une requête

int mysql_num_fields():

// pour voir le nombre de champs retournés (mysql_fetch_row())

int mysql_num_rows():

// pour voir s'il y a des résultats

int mysql_insert_id()():

// numéro du dernier enregistrement inséré

string mysql_error(), int mysql_errno();

// pour contrôler les erreurs si une requête n'a pas donné de résultat

array mysql_fetch_array(), array mysql_fetch_row(), array mysql_fetch_object() :

(12)

Construire un formulaire dynamique

<form action="resultat.php"> <?php

// ouverture de la connexion+choix de la base de données …..

include("connexion_inc.php");

// prendre la liste des enregistrements

// de la table produits de la base magasin_test

$query = "SELECT * FROM produits ORDER BY P_ID DESC;";

$mysql_result = mysql_query($query) ;

//prendre chaque rangée

while ($ligne = mysql_fetch_array($mysql_result)) {

// afficher une checkbox pour chaque produit de la base

?>

<input type="checkbox" name="choix[]"

value="<?php echo $ligne["P_ID"]; ?>"> <?php echo $ligne["P_nom"]."<p>"; } ?> <input type="submit" name="Valider">

</form>

(13)

Construire un formulaire dynamique

<form action="resultat.php">

<input type="checkbox" name="choix[]"

value= "1"> pomme <p>

<input type="checkbox" name="choix[]"

value="2"> poire <p>

<input type="checkbox" name="choix[]"

value="3"> banane <p>

<input type="submit" name="Valider">

</form>

(14)

Merci de votre attention !!!

Tutoriel

:

http://www.infres.enst.fr/~danzart/mysql/

Les exemples du cours:

Références

Documents relatifs

Dans la finale du troisième évangile, il a été démontré que la mise en intrique tourne autour de l'apparition d'un nouveau personnage dans le récit: le vivant. Et si

Différentes études (Temperman et al., 2017 ; Rodrigues, 2014), issues de dispositifs expérimentaux sur l’intégration des pads pour des projets de co-écriture, indiquent que

D’un point de vue syntaxique, « hélas » ne se positionne pas comme une interjection mais comme un adverbe ; d’un point de vue sémantique, il partage toutes ses propriétés

De prendre conscience, verbaliser et exprimer, en prenant compte des perspectives personnelles, feraient en sorte de sensibiliser les soignants aux aspects spirituels de leur

Como parte dos esforços para o desenvolvimento da Produção Integrada de Mamão (PIF-Mamão), no Brasil (MARTINS et al., 2003), levantamentos estão sendo conduzidos, em 19

Dans le contexte du TDA/H, cela est important à cause de ce qui a été dit plus haut, mais aussi parce qu’au moment du diagnostic la plupart des personnes sont mineures et, bien

Quel que soit le vocable utilisé, l’ensemble de ces déclarations se rejoignent sur le fait qu’elles s’adressaient spécifiquement aux criminels jugés les plus