Académique Documents
Professionnel Documents
Culture Documents
2
Qu’est-ce que MySQL? MySQL et PHP
3
Qui utilise MySQL? MySQL et PHP
4
PHPMyAdmin MySQL et PHP
5
Utiliser MySQL avec PHP MySQL et PHP
6
Connexion avec PDO MySQL et PHP
• Activer PDO
✔ par défaut cette extension est installée
✔ Pour l’activer, faites un clic gauche sur l'icône de Easyphp dans la barre des
tâches, puis allez dans le menu PHP / Extensions PHPet vérifiez
que php_pdo_mysql est bien coché.
7
Qu’est ce que PDO? MySQL et PHP
8
Les principales fonctions de PDO MySQL et PHP
9
Connexion à une base de données MySQL et PHP
10
Connexion au serveur MySQL MySQL et PHP
• Voici donc comment on doit faire pour se connecter à MySQL via PDO
sur la base « Gestion_personne » :
<?php
$dns ='mysql:host=localhost;dbname=Gestion_personne';
$utilisateur= 'root';
$motDepasse= '‘;
$connexion = new PDO($dns, $utilisateur, $motDePasse);
?>
• Une fois connecter au serveur MySQL avec notre objet PDO, nous
allons pouvoir commencer à envoyer des requêtes au serveur.
13
Envoyer une requête de selection MySQL et PHP
14
Exploitation des résultats d'une
MySQL et PHP
requête
• PDO nous offre la liberté d'utiliser la réponse au format que nous
voulons (tableau, objet, etc.) :
16
Exploitation des résultats d'une
MySQL et PHP
requête
• Avec Méthode fetchAll(PDO::FETCH_OBJ)
Cette méthode va convertir notre objet de résultats en un tableau
d'objet,
ensuite nous traitons le tableau comme un tableau classique, ce cas
d'application est surtout utilisé pour traiter des listes de résultats
(Lorsque
$res=$connection->query(’’select
l'on s'attend à plusieurs résultats) * from client’’);
$liste=$res->fetchAll(PDO::FETCH_OBJ);
// Nous traitons les résultats en boucle
while( $enregistrement = next($liste))
{ // Affichage des champs
echo '<h1>', $enregistrement->nom, ' ',
$enregistrement->prenom, '</h1>‘;}
17
RowCount(), columnCount() MySQL et PHP
18
Envoyer une requête de mise à
MySQL et PHP
jour
• La méthode query est utilisée pour faire des SELECT, pour réaliser
des UPDATE/INSERT ou des DELETE, nous utiliserons plutôt la
méthode exec :
excec($requete)
• Exemple :
19
Préparation d'une requête MySQL et PHP
20
Préparation d'une requête MySQL et PHP
▪ prepare () :
▪ est une méthode de la classe pdo
▪ Prépare une requête
▪ retourne un objet PDOStatement qui effectuera
l'association des paramètres et exécutera la requête
▪ la requête à préparer. Peut contenir des paramètres anonymes
(?) ou nommés (:nom)
▪ Exemple :
$pdo=new
PDO("mysql:host=localhost;dbname=mysql,’root’,’’") ;
$pdostat = $pdo->prepare(«
SELECT * FROM user WHERE User= ?") ;
21
Préparation d'une requête MySQL et PHP
• Exemple 1
$pdo=new
PDO("mysql:host=localhost;dbname=mysql",‘root’,’’) ;
$pdostat = $pdo->prepare(
"SELECT * FROM user WHERE User= ?") ;
$pdostat->bindValue(1, 'root') ;
paramètre anonyme
$pdostat->execute() ;
// Utilisation du résultat
$pdostat->bindValue(1, 'cutrona') ;
$pdostat->execute() ;
// Utilisation du résultat
Association
Exécution
Associationd'une
d'unevaleur
Préparationde
valeur au
au 1er paramètre
delalarequête
1er
requêteparamètre
22
Préparation d'une requête MySQL et PHP
• Exemple 2
$pdo=new PDO("mysql:host=localhost;dbname=mysql") ;
$pdo->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$pdostat = $pdo->prepare(
"SELECT * FROM user WHERE User= :utilisateur") ;
$pdostat->bindValue(':utilisateur','root') ;
$pdostat->execute() ; paramètre nommé
// Utilisation du résultat
$pdostat->bindValue(':utilisateur', ‘Foulene') ;
$pdostat->execute() ;
// Utilisation du résultat
23
Préparation d'une requête MySQL et PHP
• Exemple 3
$pdo=new PDO("mysql:host=localhost;dbname=mysql") ;
$pdostat = $pdo->prepare(
"SELECT * FROM user WHERE User= ?") ;
$pdostat->execute(array('root')) ;
// Utilisation du résultat paramètre anonyme
$pdostat->execute(array(‘Foulene')) ;
// Utilisation du résultat
Préparation
Association
Association
Exécution
d'une delalaau
d'une valeur
valeur
de 1er paramètre
requête
requête
au 1er paramètre
24
Préparation d’une requête MySQL et PHP
• Exemple 4
$pdo=new PDO("mysql:host=localhost;dbname=mysql") ;
Association
Préparation
Exécution
d'une valeur
de
dela
au
larequête
requête
paramètre nommé
25
Classe PDO
PDO {
public __construct ( string $dsn [, string $username [, string $password [, array $driver_options]]] )
public bool beginTransaction ( void )
public bool commit ( void )
public mixed errorCode ( void )
public array errorInfo ( void )
public int exec ( string $statement )
public mixed getAttribute ( int $attribute )
public static array getAvailableDrivers ( void )
public bool inTransaction ( void )
public string lastInsertId ([ string $name = NULL ] )
public PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
public PDOStatement query ( string $statement )
public string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
public bool rollBack ( void )
public bool setAttribute ( int $attribute , mixed $value )
}
26
Bibliographie
•http://oseox.fr/php/langage-php.html
•http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-
php-et-mysql
•http://www.slideshare.net/JMF/utilisation-optimale-et-professionnelle-de-php
•http://www.atelierphp.net