Vous êtes sur la page 1sur 50

Langage PHP

les fondamentaux

UCAD/FST/DMI/LicPro

M. DIENG Abdoulaye

Objectif gnral
Acqurir les comptences
ncessaires pour dvelopper des
sites Web dynamiques

Objectifs oprationnels
Stocker et utiliser des donnes laide des
variables et des oprateurs
Manipuler des tableaux et des chanes de
caractres
Dfinir et utiliser des fonctions
Contrler le flux dexcution des
instructions
Traiter des formulaires et des fichiers
uploads
Grer le temps
Grer des sessions
Interfacer PHP avec MySQL

Le Sommaire
1. Qu'est ce que PHP?
2. Historique de PHP?
3. Principe de
fonctionnement
4. Exemple introductif
5. Les types de base
6. Les constantes
7. Les tableaux

8. Les oprateurs
9. Les fonctions
10. Les structures de
contrle
11. Le transfert de
donnes
12. La gestion du temps
13. La gestion des
sessions
14. PHP MySQL

Qu'est-ce que PHP?


PHP est un langage de script excut du ct serveur et
utilis essentiellement pour crer des pages Web
dynamiques.
A la diffrence des pages statiques, les pages dynamiques
doivent s'adapter (besoin de l'heure, accs des bases
de donnes, rponse personnalise, traitement de
formulaire, etc.)
Les principaux concurrents de PHP sont ASP et JSP, mais
les atouts majeurs de PHP sont :
gratuit et disponibilit du code source;
richesse fonctionnelle;
disponibilit sur le Web de nombreux scripts;
facilit d'inclure le PHP au sein d'une page html;
simplicit d'interfaage avec des bases de donnes;
intgration au sein de nombreux serveurs web;
performances leves;
simplicit dapprentissage et dutilisation.

Historique de PHP
Dbut 1995: Mise en ligne par Rasmus Lerdorf de la premire version,
essentiellement en Perl, pour noter les accs son CV. Il la baptisa
ainsi Personal Sommaire Page Tools, puis Personal Home Page v1.0
t 1995: cration de PHP/FI v2, essentiellement en langage C et
intgrant des structures de contrle, un package permettant
d'interprter les formulaires (FI, Form Interpreter) ainsi quun support
de mSQL.
En 1998, des dveloppeurs dapplications de-commerce (Zeev
Suraski et Andi Gutmans) rejoignent Rasmus pour mettre au point
PHP 3 et le rebaptise PHP: Hypertext Preprocessor
En 2000: publication de PHP 4 avec un nouveau systme d'analyseur
syntaxique plus avanc appel le Zend engine. Ce moteur procde en
deux tapes d'analyse puis d'excution
En 2004: publication de PHP 5 qui utilise Zend Engine 2 avec un
nouveau modle objet
Actuellement, la dernire version stable est PHP 5.3.5 depuis le
06/01/11

Principe de fonctionnement
1
2

6
5

client Web serveur Web

1.
2.
3.
4.
5.
6.

requte de donnes
activation du moteur PHP
connexion au serveur BDD
extraction des donnes
formatage en HTML
rponse

moteur PHP

serveur BDD

Exemple introductif
<?
/* la variable titre stocke le titre
du script */
$titre = ' Script introductif '
?>
<HTML>
<HEAD>
<?php
# affiche le titre de la page
echo (" <title> $titre </title>")
?>
</HEAD>
<BODY>
<script language="php">
// affiche le contenu de la page
echo ('Hello, world !');
</script>
</BODY></HTML>

Les syntaxes dintgration :


<?php ?>
<script language="php"> </script>
<? ?> : activer via short_open_tag
<% %>: activer via asp_tags
Les commentaires:
// ou # : une seule ligne
/* */ : plusieurs lignes
Les variables sont prcdes du signe $.
La variable est "dclare" son utilisation.
La valeur qui lui est affecte dtermine son
type.
echo affiche:
tel quel, si ' ' est utiliss;
en interprtant les variables, sinon.
Toute instruction se termine par (;) sauf si elle
est
suivie de ?>.

Types scalaires
numriques et boolen
Type entier:
un entier ou integer reprsente un entier relatif (32 bits)
gnralement entre 2 147 843 648 et 2 147 843 647
Type rel:
Un rel ou double reprsente un nombre virgule.
de -1,7e308 1,7e308 avec 14 chiffres aprs la virgule.
Type boolen:
exprime la valeur TRUE ou la valeur FALSE
seuls les constantes FALSE et NULL, les nombres 0 et 0.0, les
chanes "0" et vide, le tableau vide et lobjet vide valent FALSE.
TRUE convertit en entier donne 1 et FALSE donne 0
TRUE convertit en chaine donne "1" et false donne ""

Types scalaires
chane de caractres
une string reprsente une suite de caractres
il y a 256 caractres, mais une string est
illimite.
une constante string est dlimite par des
guillemets ( ' ou " ).
Les guillemets permettent dinterprter
dventuels caractres daction ou variables
prsents dans la chane quils dlimitent.
lanti-slash (\) permet dchapper ou de
dspcialiser les caractres (', ", \, $)
Application1: ( corriger)
echo 'je n'ai rien compris ';

Types scalaires
quelques fonctions
gettype($var): retourne le type de $var
settype($var, "type_dsir") : renvoie true si le
type de $var est modifie
intval($var), doubleval($var), strval($var):
permettent de convertir
is_string($var), is_bool($var), is_int($var),
is_double($var), is_numeric($var),
is_array($var) : permettent de tester un type
isset($var) : renvoie false si $var nest pas
initialise ou vaut NULL
empty($var) : renvoie true si $var nest pas
initialise ou vaut NULL, 0, 0.0, "" ou "0".
unset($var) : dtruit la variable $var

Types scalaires
quelques fonctions sur les strings
strlen($str): renvoie la longueur de $str.
strcmp($str1, $str2): compare alphabtiquement
$str1 et $str2
trim($str): supprime des espaces de dbut et de fin de
chane.
addslashes($str): dspcialise les caractres (', ", \)
stripslashes($str): supprime les antislashs
substr($str,$i,$j) : retourne une sous chane de $str
de taille $j et dbutant la position $i
arrayexplode(string$sep,string$str)
retourne un tableau de chanes, chacune d'elle tant
une sous-chane du paramtrestringextraite en
utilisant le sparateur sep.

Notion de constante
Une constante est un identificateur qui reprsente une
valeur restant inchange durant lexcution dun script.
Cet identificateur est en majuscules (fortement
recommand) et nest pas prfixe par $
Une constante est dfinie par la fonction:
define("NOM_CTE", val_cte)
Une constante ne peut pas tre redfinie ou dtruite
Constantes prdfinies
__FILE__: nom du fichier courant
__LINE__ : numro de ligne en cours
PHP_VERSION : version de PHP
TRUE et FALSE : les valeurs vraie et fausse boolennes
Application2: ( corriger)
define( ANNEE, 2009 );
echo $anne;

Tableaux
prsentation

Un tableau est un regroupement de donnes


de types distincts ou non, dsign par un
identificateur unique
Chaque donne est repre par une cl (ou
indice) de type entier positif ou de type
string
Un tableau est dfinie par la fonction array()
Application3 ( corriger)
$tab = aray('toto, 2006, 3.14);
// $ass stocke un tableau associatif
$ass = array('nom' => Faye', 'prenom' => 'Ngor');
// Pas de double quotes avec echo
echo $tab[1];
//A la ligne suivante, afficher le prnom suivi du nom

Tableaux
quelques fonctions
current($tab):retourne la valeur courante de $tab
next($tab) et prev($tab): mme rle que current mais
next avance dabord le pointeur, tandis que prev le recule
dabord.
reset($tab): dplace le pointeur de $tab au dbut et
retourne la premire valeur de celui-ci.
in-array($var,$tab): vrifie si une valeur existe dans un
tableau
count($tab): retourne le nombre dlment dun tableau.
array_search($val,$tab): retourne la cl associe la
valeur $val.
each($tab): retourne le couple cl/valeur courant
extract($tab) : reoit un tableau associatif $tab et cre
des variables dont les noms sont les cls de $tab, et leur
affecte les valeurs associes.
list($var1,$var2,): assigne une liste de variables en une
seule instruction.
sort($tab) et rsort($tab): la premire permet le tri
alphanumrique des lments de $tab, et le second fait
linverse.
array_merge($tab1,$tab2,): concatne les tableaux
passs en argument

Oprateurs
arithmtiques/assignation/logiques
Oprateurs arithmtiques :
+, -, *, /, % (modulo), ++(incrment), -(dcrment)
Oprateurs dassignation :
= (affectation), += (ajouter ),*=, /=, -=, %=
Oprateurs logiques :
AND, && (et), OR, || (ou), XOR (ou exclusif), ! (non)
A

A&&B

A || B

A XOR B

!A

Vraie si toutes les oprandes sont


vrai

V Vraie si au moins lun des oprandes


est vrai
V
Vraie si un seul des oprandes est
vrai

Oprateurs
comparaison/concatnation/ternaire
Oprateurs de comparaison :
== (galit), <, <=, >, >=, != , === (identit :
valeurs + types), !==
Oprateur de concatnation
not par un point (.), il fusionne deux strings
Oprateur conditionnel ternaire.
(condition)?(expression1):(expression2);
Si condition vraie, renvoie lexpression1
sinon renvoie lexpression2
Application4 ( tester)
$x = ; // initialiser $x
print(" Si x = $x ");
$y = ($x< 3)?(--$x):($x%3);
echo <br> alors y = .$y;

Fonctions
prsentation
Les fonctions permettent de dcouper un programme
pour le rendre plus lisible et plus facile dboguer ainsi
que de rutiliser du code qui revient souvent.
Une fonction nest excute que lorsquelle est appele.
Il est fortement recommand de dfinir une fonction
avant son appel.
Syntaxe de la dfinition dune fonction:
function nomDeLaFonction( arg_1[, arg_2, ] )
{ codeDeLaFonction
}
return permet une fonction de renvoyer une valeur

Fonctions
visibilit des variables

Une variable locale nest accessible quau sein de la


fonction qui la contient.
Une variable globale est dclare l'extrieur de tout
bloc d'instructions et est automatiquement accessible
de partout dans le code sauf lintrieur des fonctions.
Une fonction accde une variable globale laide du
mot-cl global
Appli5 ( rectifier pour afficher les valeurs
affichables)
$a = 2; $b = 5;
function afficheValeur(){
global $a;
$c = 8;
echo ("a = $a , b = $b et c= $c");
}
afficheValeur();
echo ("<br>a = $a , b = $b et c= $c");

Fonctions
passage par rfrence
La valeur dun argument effectif nest effectivement
change que sil est pass par rfrence (ou adresse)
Application 6 ( tester)
function modifier( $argument_formel ){
echo '<br>avant modification on a: '.$argument_formel;
$argument_formel = $argument_formel." est modifi";
echo '<br>fin modification on a: '.$argument_formel;
}
$variable = " largument effectif";
echo <p> <b>avant passage par valeur, on a: </b>'.$variable;
modifier($variable); // passage par valeur
echo ' <br><b>aprs passage par valeur, on a: </b>'.$variable;
echo ' <p><b>avant passage par adresse, on a: </b>'.$variable;
modifier(&$variable); // passage par rfrence ponctuel
echo ' <br><b>aprs passage par adresse, on a: </b>'.$variable;

Structures de contrle

conditionnelles
Elles permettent d'excuter un traitement en
fonction dune (ou de plusieurs) condition(s).
if (condition) {traitement}
if (condition_1){traitement_1}
else (condition_2) {traitement_2}
if (condition_1) {traitement_1}
elseif (condition_2) {traitement_2}
// suite de elseif
else {traitement_n}
switch(expression) {
case constante_1 : {traitement_1 } break;
case constante_2 : {traitement_2 } break;
// suite de case
default : {traitement par dfaut}
}

Structures de contrle
itratives
Elles permettent la rptition dun traitement en fonction dune
condition.
while(condition) { traitement }

La condition est teste avant la premire excution du traitement.


Initialiser la variable qui subit la condition pour le premier passage
Faire voluer la variable qui subit la condition lintrieur de la
boucle

do { traitement } while(condition);

Le traitement est excut au moins une fois


Faire voluer la variable qui subit la condition lintrieur de la
boucle

for (exp1 ; condition ; exp2 ) { traitement }

Le traitement est rpt un nombre connu de fois;

Parcourir un tableau
foreach ($tableau as $valeur) {traitement }
foreach ($tableau as $cle => $val) {traitement }

Structures de contrle
autres structures
break: permet de quitter une structure itrative
continue: permet de sauter les instructions de l'itration
courante afin de passer directement l'itration suivante
exit() : termine l'excution du script courant
die("message"): termine lexcution du script courant en
affichant la raison (le message spcifi).
include("chemin/du/fichier") : inclut le fichier spcifi ou
bien produit une alerte(Warning)
include_once("chemin/du/fichier") : variante de include()
qui inclus une seule fois le fichier spcifi, vitant de ce
fait les redfinitions de variables ou de fonctions,
gnratrices d'alertes.
require("chemin/du/fichier") : inclut le fichier spcifi ou
bien produit une erreur fatale. A utiliser si le fichier
inclure est indispensable.
require_once("chemin/du/fichier") : variante de require()
qui inclus une seule fois le fichier spcifi.

Structures de contrle
application sur foreach

Application 7:
$train= array ('wagon1' => 'oranges',
'wagon2' => 'bananes',
'wagon3' => 'mangues');

1.Parcourir $train pour afficher 3 phrases du


type:
le train transporte des (oranges)
2.Parcourir $train pour afficher 3 phrases du
type:
le (wagon1) contient des (oranges)

Structures de contrle
application sur linclusion de fichier

Application 8:

1. crire ces deux scripts dans le mme dossier puis excuter le


second
2. Dans le 2nd, faire une erreur sur le chemin du fichier inclus et
excuter
3. Dans le 2nd, changer include par require et refaire les
questions prcdentes

contenu.php
<?php

tasse.php

$etat = 'remplie'

?>

<?php
$etat ='vide';
echo "La tasse est $etat";
include ('contenu.php') ;
echo "<br />La tasse est $etat";
?>

Transfert de donnes
mthode de transmission
LURL permet le transfert de donnes dune page une autre comme, sur cet
exemple:
<a href="page2.php?total=10000"> Aller la page 2 en transmettant le total </a>

La page2 accde la variable transmise par le biais du tableau


super global $_GET. (ex : echo $_GET['total']; // affiche 10000
GET: mthode de transmission par dfaut des formulaires, transmet les
donnes par le biais des URL:
URL_script_destinataire?nomChamp1=valeur1&nomChamp2=valeur2&

Le script destinataire accde aux donnes transmises par le biais du tableau


super global $_GET. Plus prcisment par $_GET['nomChamp']
POST: transmet via le corps dune requte HTTP. Le script destinataire accde
aux variables transmises par le biais du tableau super global $_POST. Plus
prcisment par $_POST['nomChamp']
NB : POST est utilise pour joindre un fichier mais le script destinataire accde
aux informations (nom, type, taille, ) sur le fichier joint par le biais du tableau
super global $_FILES.

Transfert de donnes
rappel sur les formulaires (prsentation)
Les formulaires permettent dinteragir avec l'internaute.
Parmi leurs utilisations courantes on peut noter:
rcuprer des informations sur l'utilisateur;
procder des authentifications;
permettre l'utilisateur de contribuer un site ;
oprer des recherches ou slections sur le site;
L'internaute entre les donnes en remplissant des champs
texte (une ou +sieurs lignes), en cochant une (ou +sieurs)
case(s) ou en slectionnant un (ou des) lment(s) dans une
liste.
Ensuite l'internaute soumet les donnes en cliquant sur un
bouton de soumission.
La soumission envoie les donnes gnralement un script
ct serveur sous forme de paires nom/valeur, c'est--dire un
ensemble de donnes reprsentes par le nom de l'lment de
formulaire, le caractre "=", puis la valeur associe.

Transfert de donnes
rappel sur les formulaires (lment form)
form dlimite un formulaire et ses principaux attributs sont :
action="adresse_script_cible"
script ct serveur qui traitera les donnes du formulaire.
method="get|post"
spcifie la mthodeHTTPemploye pour envoyer les
donnes du formulaire l'agent de traitement.
"get", valeur par dfaut, annexe les donnes du formulaire
l'URL du script cible
(ex : script.php?nomChamp1=valeur1&nomChamp2=valeur2& ...)
"post" est la valeur qui incorpore les donnes du formulaire
dans la requte HTTP.
enctype="multipart/form-data"
si un fichier doit tre joint au formulaire

Transfert de donnes
rappel sur les formulaires (lment input)
input, enfant de form, dfinit une zone de saisie, une case cocher,
un bouton, etc. Ses principaux attributs sont :
|password
|checkbox |
type= "text
radio
|submit
|reset
|hidden |
button
|file
"
qui prcise le type de champ.
name: obigatoire car il permettra au script de connatre le champ
associ la paire nom/valeur, c'est--dire que le nom du champ
sera suivi du caractre "=" puis de la valeur entre par
l'utilisateur, ou dans le cas contraire de la valeur par dfaut
repr par l'attributvalue.
value: valeur de la donne transmise
obligatoire lorsque type "text|password|file"
checked="checked": pour pr-selectionner un bouton radio

Transfert de donnes
rappel sur les formulaires (lment select )
select: dlimite une liste droulante ou non
name="nom_transmis"
size="n": n options visibles dune liste non droulante
multiple = "multiple": permet le choix multiple dans une liste
non droulante. ( Dans ce cas, name = "nom_transmis[ ]")

option: enfant de select, dlimite un choix dans une liste


value: valeur transmise si loption dlimite est choisie
selected = "selected": pour pr-slectionner une option

Transfert de donnes
rappel sur les formulaires (lment textarea)
textarea: dlimite une zone de saisie multilignes
name: nom transmis
rows="n": nombre de lignes visibles
cols="n": nombre de caractres visibles par ligne

Transfert de donnes
rappel sur formulaire (lments daccessibilit)
label : permet dassocier un texte cliquable un
lment de formulaire. Cette relation entre le texte
(dlimit par label) et llment peut se faire en
liant l'attribut for du label l'attribut id de llment.
fieldset : organise un formulaire en plusieurs sous
parties ou thmes
legend : enfant de fieldset, permet de donner un
titre chacun des thmes. Cet lment dlimite le
titre de la sous-partie

Transfert de donnes
rappel sur formulaire (application 9)

Transfert de donnes
application
Application 10: Construire les formulaires sources et
tester
script_1.php : (traitement dune donne scalaire)
if ( (strcmp($_POST['login'], 'toto') == 0) &&
(strcmp($_POST['mdp'], 'secret') == 0)
)
echo 'Bienvenu '.$_POST['login'];
else
echo 'ACCES INTERDIT';

script_2.php : ( traitement de plusieurs donnes venant dun


mme lment de formulaire)
echo 'Vous avez choisi les sports suivants :';
for ( $i = 0; $i < count ($_GET['sport]);
echo
'<br />'.$_GET['sport'][$i];

$i++)

script_3.php : (traitement dun fichier upload)


$nom_temporaire=$_FILES['fichier_a_charger']['tmp_name'];
$nom_definitif='upload/'.$_FILES['fichier_a_charger']['name'];
if(move_uploaded_file($nom_temporaire,$nom_definitif ) )
echo 'Le fichier a t tlcharg avec succs.';
else
echo 'Erreur : fichier non upload.';

Gestion du temps
time()/date()
int time (void)
retourne le timestamp de l'heure courante cd le nombre
desecondescoulesdepuisle1erjanvier1970 00:00:00 GMT.
stringdate(stringformat[,inttimestamp])
retourne une composante du temps sous forme d'une chane, au
format donn par la chaneformat. Le moment tudier est fourni par
le paramtre optionneltimestamp, sous la forme d'un timestamp. Par
dfaut, cest le moment courant qui est tudi.
format : d:jour[01-31]; H:heure[00-23]; i:minutes[00-59];
m:mois[01-12]; s:sec[00-59]; Y:anne xxxx;
D:[Mon-Sun]; y:anne xx; h:[01-12]; M:[Jan-Dec]; etc.
Application 11 :
Utiliser date() et time() pour afficher la date daujourdhui et celle de
la semaine prochaine sous le format jj-mm-aaaa.

Gestion du temps
getdate()
array getdate( [timestamp])
retourne un tableau associatif contenant les informations
de date et d'heure du timestamp timestamp(lorsqu'il est
fourni, sinon, le timestamp de la date/heure courante).
cls : seconds, minutes, hours,
mday (1 31), wday (0 pour Dim 6 pour Sam),
yday (0 365), weekday (Sunday Saturday),
mon (1 12), month (January December) ,
year (xxxx)
et 0 (timestamp).
Application 12
Utiliser getdate() pour afficher lheure courante sous le
format : xxhyyminzzs

Gestion du temps
checkdate()/mktime()
boolcheckdate(int$mois,int$jour,int$annee)
vrifie la validit d'une date forme par les arguments.
Le mois doit tre compris entre 1 et 12; le jour doit tre un jour autoris par
le mois donn (les annes bissextiles sont prises en comptes); lanne est
comprise entre 1 et 32767 inclus.
intmktime([int$heure[,int$minute[,int$seconde
[,int$mois [,int$jour[,int$annee]]]]]] )
retourne un timestamp correspondant aux arguments fournis.
Les arguments peuvent tre omis, de droite gauche, et tous les arguments
manquants sont utiliss avec la valeur courante de l'heure et du jour.
App 13 : Demander une date (jj/mm/aaaa) avec 3 champs diffrents puis
vrifier la validit de la date fournie et dans le cas cheant, afficher le jour
de semaine (en anglais) correspondant.

Gestion des sessions


prsentation
La gestion des sessions permet d'enregistrer (ct serveur)
des informations sur un internaute afin de les rutiliser tout
au long de la visite de ce dernier.
Les variables stockant ces informations doivent tre
explicitement enregistres dans le tableau super global
$_SESSION.
Ce qui permet ainsi de suivre un internaute de page en
page, de sauvegarder un caddie, de scuriser un site, etc.
Tout visiteur se voit assigner un "identifiant de session"
permettant de retrouver des informations sur lui.
Cet identifiant est stock dans un cookie (chez le client) ou
propag dans l'URL des pages visites.
Une session doit obligatoirement dmarrer avant lenvoi de
toute information chez le client.

Gestion des sessions


exemple

Stockage dune information dans une variable


$total = 35000; // Montant dune commande par exemple
Cration dune session
session_start(); // Obligatoire aussi pour prolonger une
session
Enregistrement de la variable total dans la session
$_SESSION[total] = $total;
Affichage de linformation (dans une autre page par exemple)
echo $_SESSION[total];
Test de lenregistrement de la variable total dans la session
if (isset( ($_SESSION[total']) )
Suppression de la variable de session associe total
unset($_SESSION[total']);
Destruction de toutes les variables de session
$_SESSION = array(); // Tableau vide
Destruction de la session
session_destroy();

PHP MySQL
prsentation de MySQL
Le SGBDR (Systme de Gestion de Bases de donnes
Relationnelles) open source le plus utilis sur le Web.
Logiciel permettant de crer des bases de donnes, de les
exploiter (en y effectuant notamment des recherches des
modifications ou des tris) et de contrler laccs aux
donnes.
Ses principaux concurrents sont PostgreSQL, Microsoft SQL
Server, DB2 et Oracle mais ses atouts majeurs sont:
performances leves;
cot rduit;
simplicit de configuration et dapprentissage;
portabilit;
accessibilit du code source;
disponibilit du support (www.mysql.com)

PHP MySQL
droits daccs aux donnes
Syntaxe SQL pour donner des privilges aux scripts PHP
GRANT droit1 [(liste_colonnes)] [, droit2 [(liste_colonnes)] ...]
ON {nom_de_table | * | *.* | nom_base.*}
TO nom_utilisateur1 [IDENTIFIED BY 'password']
[, nom_utilisateur2 [IDENTIFIED BY 'password'] ...]
[WITH GRANT OPTION];
Les droits sur une table sont SELECT , INSERT , UPDATE , DELETE , CREATE ,
DROP , GRANT OPTION , INDEX et ALTER .
Les droits sur une colonne sont SELECT , INSERT et UPDATE.
Si une base est slectionne, ON *donne des droits sur elle.
Si aucune base nest slectionne, ON * affecte les droits au niveau du
serveur.
nom_utilisateur est gnralement sous la forme 'user'@'host'
La clause WITH GRANT OPTION, est utilise pour autoriser la transmission des
droits.

PHP MySQL
tapes de la communication

Pour que PHP travaille avec MySQL, il faut :


1.Connexion au serveur
Authentification
Cration d'une ressource
1.Slection dune base de donnes
2.Utilisation des tables MySQL
Lecture
criture
4. Dconnexion du serveur
(Facultative si la connexion et non
persistante)
NB : Toutes les fonctions PHP pour grer une base
ou
une table MySQL commencent par mysql_

PHP MySQL
connexion au serveur

mysql_connect($server,$user,$password)
permet de se connecter au serveur
$server en tant quutilisateur $user avec
le mot de passe $password
retourne lidentifiant de connexion si
succs, FALSE sinon.
Il est recommand de contrler la russite
ou non de la connexion au serveur
Lidentifiant de connexion retourn sera
utilis comme paramtre par toutes les
autres fonctions.

PHP MySQL
slection de la base de donnes

mysql_select_db($base[,$id])
permet de slectionner la base $base
retourne TRUE en cas de succs, sinon FALSE
$id est l identifiant de connexion retourn
par mysql_connect()
Il est recommand de contrler la russite ou
non de la slection de la BD

PHP MySQL
excution dune requte

mysql_query($requete_sql[,$id])
reoit une chane de caractres qui contient
la requte crite en SQL
retourne un identificateur de rsultat pour
les requtes select
retourne TRUE pour les autres requtes
retourne FALSE en cas dechec de nimporte
quelle requte
Il est recommand de contrler la russite
ou non de lexcution de la requte

PHP MySQL
exploitation dune select via tableau simple

mysql_fetch_row($resultat)
reoit un identificateur de rsultat et retourne une
ligne de ce rsultat sous la forme dun tableau
simple( indices entiers). Les lments du tableau
tant les valeurs des attributs de la ligne.
retourne FALSE sil ny a plus aucune ligne
On accde aux valeurs de la ligne par leur indice dans
le tableau.
Exemple (sur la table membres(id_mbre, nom,
prenom) )
$liste=mysql_query(select prenom, nom from membres);

While($ligne = mysql_fetch_row($liste) ){
echo Prenom :.$ligne[0].
Nom: .$ligne[1].'<br />';
}

PHP MySQL
exploitation dune select via tableau associatif
mysql_fetch_assoc($resultat)
reoit un identificateur de rsultat et retourne un
tableau associatif. Les cls tant les noms des attributs
(de la clause SELECT) et leurs valeurs associes tant
leurs valeurs respectives dans la BDD.
retourne FALSE sil ny a plus aucune ligne.
Exemple (sur la table membres(id_mbre, nom, prenom) )
$requete=select nom, prenom from membres;
$liste=mysql_query($requete);
While($ligne =mysql_fetch_assoc($liste)){
echo Prenom :.$ligne[prenom].
Nom: .$ligne[nom].'<br />';
}

PHP MySQL
exploitation dune select via tableau simple et/ou
associatif

mysql_fetch_array($resultat
[,$type_tableau_retourn])
$type_tableau_retourn peut prendre les

valeurs :
MYSQL_ASSOC ;
MYSQL_NUM ;
MYSQL_BOTH (valeur par dfaut).

PHP MySQL
autres fonctions
mysql_error()
retourne le texte associ l'erreur gnre lors de la dernire
opration; utiliser avec die().
mysql_free_result($resultat);
Libre la mmoire associe l'identifiant de rsultat
mysql_insert_id([$id])
retourne le dernier identifiant gnr par un champs de type
AUTO_INCREMENT .
mysql_num_rows([$id])
retourne le nombre de lignes d'un rsultat dune SELECT.

PHP MySQL
autres fonctions (suite et fin)
mysql_real_escape_string($chaine_a_echapper[,$id])
ajoute un slash tout caractre spcial de la chane chapper.
Cette fonction doit toujours (avec quelques exceptions) tre
utilise pour protger les donnes insrer dans la BDD.
mysql_affected_rows([$id])
retourne le nombre de lignes modifies par la dernire requte
INSERT, UPDATE ou DELETE.
mysql_close($id])
ferme la connexion identifie par $id ou la connexion en cours

Vous aimerez peut-être aussi