Plan de cours
- Introduction
- créer une connexion
- exécuter les requêtes
- mysql_connect()
- mysql_query()
- mysql_result()
- mysql_fetch_array()
- Connexion au serveur
- mysql_connect()
- mysql_query()
- mysql_result()
- mysql_fetch_array()
- Requête SQL retournant une seule ligne
- Requête SQL retournant plusieurs lignes
- Requête d’insertion, de modification ou de suppression
- Les requêtes préparées
- Exemple d’exécution
Profitez de ce manuel de formation en PDF pour comprendre mieux le PHP et enrichir votre connaissance.
Commencez à télécharger ce cours adapté pour vous et à apprendre PHP.
Si vous souhaitez retourner des objets, vous devez indiquer fetch(PDO::FETCH_OBJ )
qui retourne un objet avec les noms de propriétés qui correspondent aux noms des colonnes
retournés dans le jeu de résultats
stdClass Object ( [nb] => 19 )
Pour accéder aux propiriétes de cet objet : $result → nb
Pour voir les différents modes : http://php.net/manual/fr/pdostatement.fetch.php
Remarque : Pour éviter d'avoir à indiquer à la chaque fois la méthode de retour vous pouvez
choisir une seule méthode et l'indiquer dans le fichier de connexion :
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
LES REQU
ÊTES PR ÉPAR ÉES
Le principe est de pr
éparer un « moule » de requ ête et de placer des place holders aux endroits o ù
l'on voudra ins
érer nos valeurs dynamiques.
Vous avez une requ
ête avec des place holders (les points d'interrogation) :
$requete =' DELETE FROM salaries WHERE idsalaries = ?';
Le SGBD va pr
éparer (interpr éter, compiler et stocker temporairement son "plan d'ex écution
logique" ) la requ
ête.
$prep = $pdo>prepare($requete) ;
Il faudra ensuite associer des valeurs aux place holders , qui agissent un peu comme des variables .
Par exemple si vous souhaitez associer la valeur de 10 au premier place holder
$prep->bindValue(1, 10, PDO::PARAM_INT);
(1) : pour le premier place holder rencontré
(10) : pour la valeur associée
(PDO::PARAM_INT) : Par défaut, si le 3e paramètre de la méthode bindValue() est ignoré,
le type utilisé sera PDO::PARAM_STR. Ce qui signifie que les valeurs auront des guillemets de
part et d'autre pour les délimiteurs. En général, ça ne pose pas problème, mais dans le cas de la
clause LIMIT, c'est problématique .
Ensuite on exécute la requête préparée :
$prep->execute() ;
Nommage des place holders
Un autre avantage de PDO est qu'il permet l'utilisation de place holders nommés, c'est-à-dire
d'attribuer un nom au place holder , plutôt que d'utiliser des points d'interrogation et un indicateur de
position numérique. L'exemple précédent devient :
$requete =' DELETE FROM salaries WHERE idsalaries =: id ';
$prep = $pdo>prepare($requete) ;
$prep>bindValue( ':id' , 10, PDO::PARAM_INT);
$prep->execute() ;