Cours ⇒ Base de données Mysql facebook twitter youtube

PDO ⇒ & Requête préparées



Les requête préparées   lire ,écrire,supprimer,mettre à jour des données avec PDO

1-3-1 lire des données requête prépare

 

 La méthode methode qui permet de preparer une requete SQL de type : SELECT ,DELETE ,INSERT ou UPDATE c’est prepare(). .

Cet objet retourne un objet de type PDOSTATEMENT contenant tout ce que renvoie la requete.

Table sql

Table sql

id

nom

preno

age

1

dupont

tata

15

2

Chach

Jean

85

4

Dupont

Paul

45

5

Durand

Jean

25

6

boudai

fato

28

7

kalou

marie

55

8

Sabar              

Ahmed

40

 

 

Exemple

Afficher tous les utilisateurs plus grand que 40 ans  et le nom commence par d

Code:

setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "
Succès de connexion

"; //Afficher tous les utilisateurs plus grand que 10 ans et le nom commence par d $sql="SELECT * FROM ".$sql_tab." WHERE age > ? AND nom LIKE ?"; //preparer la requete $resultat= $base->prepare($sql); //executer la requete $resultat->execute(array(10,'d%')); //afficher while($ligne=$resultat->fetch()) { echo'

- '.$ligne['nom'].' - '.$ligne['prenom'].' Age : '.$ligne['age'].' ans

'; } //fermer la requete //$resultat->closeCursor(); } catch(Exception $e) { die('Erreuer : Échec de connexion !!!
' .$e->getMessage()); } ?>

 

Affiche:

 
Succès de connexion

- dupont - tata Age : 15 ans

- Dupont - Paul Age : 25 ans

- Durand - Jean Age : 45 ans

- Dourdan - Olivier Age : 19 ans

 

Remarque

 

On peut utiliser une notre requête

$sql="SELECT * FROM ".$sql_tab." WHERE age > :age AND nom LIKE :nom";
//preparer la requete
$resultat= $base->prepare($sql);
//executer la requete
$resultat->execute(array('age'=>10,'nom'=>'d%'));
 

Affice la meme chose

 

1-3-2 Écrire  des données requête prépare

 

C’est la même chose comme lire les données on utiliser les méthode de PDO preparc() et execut ().

Exemple Ajouter  un utilisateur : bennacha karim ages de 35ans dans notre table.

 

Code:

setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "
Succès de connexion

"; //Ajouter un utilisateur : bennacha karim ages de 35ans $sql="INSERT INTO ".$sql_tab." (nom, prenom, age) VALUES (:nom ,:prenom ,:age)"; //Préparation de la requête $resultat= $base->prepare($sql); $resultat->execute(array('nom'=>'bennacha','prenom'=>'karim','age'=>35)); //Voir l’id du dernier utilisateur ajouter echo"

ID du bennacha karim est :".$base->LastInsertId(). "

"; //fermer la requete $resultat->closeCursor(); // Voir tous les utilisateurs $sql2="SELECT * FROM ".$sql_tab; $resultat2=$base->query($sql2); //voir totale utilisateur echo"Totale utilisateurs :".$resultat2->rowCount(); while($donnes=$resultat2->fetch()) { echo"

Nom et prénom :".$donnes['nom']." " .$donnes['prenom']." Ages de :".$donnes['age'].".

"; }

//fermer la requete
$resultat2->closeCursor();
}
catch(Exception $e)
{
    die('Erreuer : Échec de connexion !!! 
' .$e->getMessage());
}
?>
 

Afficher

 
Succès de connexion

ID du bennacha karim est :23

Totale utilisateur :8

Nom et prénom :dupont tata Ages de :15.

Nom et prénom :Chach Jean Ages de :85.

Nom et prénom :Dupont Paul Ages de :25.

Nom et prénom :Durand Jean Ages de :45.

Nom et prénom :kalou marie Ages de :55.

Nom et prénom :Sabar Ahmed Ages de :40.

Nom et prénom :bennacha karim Ages de :35.

Nomet prénom :Dourdan Olivier Ages de :19.

 

Remarque importante

 

Si on veut ajouter plusieurs utilisateur au même temps alors il faut utiliser la liaison des paramètre grasse à la méthode binParam().

Exemple :

On va ajouter trois utilisateurs au même temps

Nom Prénom Age
Salah Bob   26
Wilou Zora  52
Marinio Pascale 29

Code:

 
setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "
Succès de connexion

"; //Ajouter Les trois utilisateurs Salah Bob 26 ans, Wilou Zora 52 ans et Marinio Pascale 29 ans $sql="INSERT INTO ".$sql_tab." (nom, prenom, age) VALUES (:nom ,:prenom ,:age)"; //Préparation de la requête $resultat= $base->prepare($sql); //liaison des parametere $resultat->bindParam(':nom',$nom); $resultat->bindParam(':prenom',$prenom); $resultat->bindParam(':age',$age); //ajouter le 1 utilisateur $nom='Salah'; $prenom='Bob'; $age=26; //executer la $resultat->execute(); //ajouter le 2 utilisateur $nom='Wilou'; $prenom=' Zora'; $age= 52; //executer $resultat->execute(); //ajouter le 3 utilisateur $nom='Marinio'; $prenom='Pascale'; $age= 29; //executer la 3 $resultat->execute(); //Voir l’id du dernier utilisateur ajouter echo"

Dernier ID ajouté :".$base->LastInsertId(). "

"; //fermer la requete $resultat->closeCursor(); // Voir tous les utilisateurs $sql2="SELECT * FROM ".$sql_tab; $resultat2=$base->query($sql2); //voir totale utilisateur echo"Totale utilisateurs :".$resultat2->rowCount(); while($donnes=$resultat2->fetch()) { echo"

Nom et prénom :".$donnes['nom']." " .$donnes['prenom']." Ages de :".$donnes['age'].".

"; } } catch(Exception $e) { die('Erreuer : Échec de connexion !!!
' .$e->getMessage()); } ?>

 

Affiche:

 
Succès de connexion

Dernier ID ajouté est :26

Totale utilisateurs :11

Nom et prénom :dupont tata Ages de :15.

Nom et prénom :Chach Jean Ages de :85.

Nom et prénom :Dupont Paul Ages de :25.

Nom et prénom :Durand Jean Ages de :45.

Nom et prénom :Salah Bob Ages de :26.

Nom et prénom :kalou marie Ages de :55.

Nom et prénom :Sabar Ahmed Ages de :40.

Nom et prénom :bennacha karim Ages de :35.

Nom et prénom :Dourdan Olivier Ages de :19.

Nom et prénom :Wilou Zora Ages de :52.

Nom et prénom :Marinio Pascale Ages de :29.

 

1-3-3 Supprimer  des données requête prépare

 

La méthode qui permet de préparer une requête SQL de type : SELECT, DELETE, INSERT ou UPDATE c’est prepare(). .

Pour supprimer un utilisateur on on utilise execute() et  prepare().

Exemple

SQL

Exemple:

 

Supprimer L’utilisateur bennacha karim Ages de :35.

Code:

setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "
Succès de connexion

"; //Supprimer bennacha karim Ages de :35. $sql="DELETE FROM ".$sql_tab." WHERE nom =:nom"; //Préparation de la requête $resultat= $base->prepare($sql); //executer la requete $resultat->execute(array('nom'=>'bennacha')); echo'bennacha karim Ages de :35 est bien supprimer
'; //fermer la requete $resultat->closeCursor(); } catch(Exception $e) { die('Erreuer : Échec de connexion !!!
' .$e->getMessage()); } ?>

 

Affiche:

 

bennacha karim Ages de :35 est bien supprimer

 

1-3-4 Modifier   des données requête prépare

 

De la meme facon que lire, supprimé, écrire on utilise les méthode suivante

prepare() et execute() ;

 

Exemple:Modifier kalou marie Ages de :55. Par Kaloue Nadia 35

 

Table

 

Code:

<?php
$sql_serveur = 'localhost';
$sql_login = 'root';
$sql_pass = '';
$sql_bdd = 'exemple';
$sql_tab='utilisateur';
try
{
$base= new PDO('mysql:host='.$sql_serveur.';dbname='.$sql_bdd, $sql_login, $sql_pass);
$base->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "<h5>Succès   de connexion </h5>";
//Modifier kalou marie Ages de :55. Par Kaloue Nadia 35
$sql="UPDATE  ".$sql_tab." SET nom=:nom ,prenom=:prenom, age=:age WHERE nom=:nom2 AND prenom=:prenom2 ";
//Préparation de la requête
$resultat= $base->prepare($sql);
//executer la requete
$resultat->execute(array('nom2'=>'kalou','prenom2'=>'marie','nom'=>'Kaloue','prenom'=>'Nadia','age'=>35));
echo'kalou marie Ages de :55. Par Kaloue Nadia 35 est bien Modifier!!<br>';
//fermer la requete
$resultat->closeCursor();
}
catch(Exception $e)
{
    die('Erreuer : Échec de connexion !!! <br>' .$e->getMessage());
}
?>
 

Affiche:

 

 Succès de connexion

 
sql

kalou marie Ages de :55. Par Kaloue Nadia 35 est bien Modifier!!

 

 


Changer le fond
Oregionale Skin
7astuces
Sélectionnez un Fond (11)
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces
Fond de contenu
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces