info:bdd:sqlphp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
info:bdd:sqlphp [2021/08/11 12:00] philinfo:bdd:sqlphp [2021/08/11 12:05] – [2.3 Traitement du résultat de la requête] phil
Ligne 1: Ligne 1:
-{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[info:bdd:accueilbdd|{{ :iconemaison.jpg?nolink&30|Sommaire Bdd}}]]+[[info:bdd:accueilbdd|{{ :iconemaison.jpg?nolink&30|Sommaire Bdd}}]]
  
 ===== BDD - MySQL et PHP ===== ===== BDD - MySQL et PHP =====
-{{ :web:phpico.png?nolink&100|}}{{ :informatique:bdd:iconesql.jpg?nolink&100|}} 
  
 [Mise à jour le 10/8/2021] [Mise à jour le 10/8/2021]
Ligne 10: Ligne 9:
   * Tutoriel sur le site **Openclassrooms** : <html><a href="https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees" target="_blank">Concevez votre site web avec PHP et MySQL</a></html>   * Tutoriel sur le site **Openclassrooms** : <html><a href="https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees" target="_blank">Concevez votre site web avec PHP et MySQL</a></html>
  
-**Mot-clé** : SGBD, base, table, enregistrement, champ, requêtes, SQL.+**Mots-clés** : SGBD, base, table, enregistrement, champ, requêtes, SQL.
  
 ---- ----
Ligne 36: Ligne 35:
   - **Traitement** du résultat des requêtes   - **Traitement** du résultat des requêtes
   - **Fermeture** de la connexion   - **Fermeture** de la connexion
 +\\
 === 2.1 Connexion à la base === === 2.1 Connexion à la base ===
 {{ :web:cobjetbdd.png?nolink&100|}} {{ :web:cobjetbdd.png?nolink&100|}}
Ligne 51: Ligne 50:
 $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');  $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', ''); 
 </code> </code>
-\\+
   * //Exemple 2// : Même connexion avec la gestion des d'erreurs   * //Exemple 2// : Même connexion avec la gestion des d'erreurs
 <code php *.php> <code php *.php>
Ligne 67: Ligne 66:
 <note>L'information liée au bon fonctionnement de la requête ou son résultat sont placés dans une variable pour être traités.</note> <note>L'information liée au bon fonctionnement de la requête ou son résultat sont placés dans une variable pour être traités.</note>
  
-== Cas 1 == +**Cas 1** - Si la requête **ne retourne pas de résultat** (INSERT, UPDATE, DELETE, etc.), on utilise la méthode //exec()//.
-Si la requête **ne retourne pas de résultat** (INSERT, UPDATE, DELETE, etc.), on utilise la méthode //exec()//.+
  
   * //Syntaxe// \\ //integer// nomConnect **->** exec(//string// requete) \\ nomvar = nomConnect **->** exec(//string// requete)   * //Syntaxe// \\ //integer// nomConnect **->** exec(//string// requete) \\ nomvar = nomConnect **->** exec(//string// requete)
Ligne 81: Ligne 79:
 {{ :web:ex2table.png?nolink |}} {{ :web:ex2table.png?nolink |}}
  
-== Cas 2 == +**Cas 2** - Si la requête **retourne un résultat** (SELECT, etc.), on utilise la méthode //query()//.
-Si la requête **retourne un résultat** (SELECT, etc.), on utilise la méthode //query()//.+
  
   * //Syntaxe// \\ //object// nomConnect **->** query(//string// requete) \\ nomResultat = nomConnect **->** query(//string// requete)    * //Syntaxe// \\ //object// nomConnect **->** query(//string// requete) \\ nomResultat = nomConnect **->** query(//string// requete) 
Ligne 97: Ligne 94:
     * The Rocketeer - Michel - 2     * The Rocketeer - Michel - 2
     * Ice Hockey - Michel - 7     * Ice Hockey - Michel - 7
 +\\
 === 2.3 Traitement du résultat de la requête === === 2.3 Traitement du résultat de la requête ===
-=== Insertion, suppression, mise à jour ===+  * **Insertion, suppression, mise à jour**
 <note>Pour les opérations d'insertion, de suppression ou de mise à jour des données dans une base, il est utile de vérifier si la requête a bien été exécutée.</note> <note>Pour les opérations d'insertion, de suppression ou de mise à jour des données dans une base, il est utile de vérifier si la requête a bien été exécutée.</note>
  
Ligne 108: Ligne 105:
 $nb contient le nombre de lignes modifiées dans l'exemple de cas 1 précédent. Cette valeur pourra être testée pour valider la requête. \\ $nb contient le nombre de lignes modifiées dans l'exemple de cas 1 précédent. Cette valeur pourra être testée pour valider la requête. \\
 \\ \\
-=== Résultat d'une commande SELECT ===+  * **Résultat d'une commande SELECT**
 <note>Lorsqu'il s'agit de lire le résultat d'une requête contenant la commande //SELECT//, la méthode //query()// retourne un objet de type //PDOStatement// ($reponse dans les exemples). La classe //PDOStatement// dispose de méthodes permettant de récupérer des données. La méthode des objets //PDOStatement// couramment utilisée pour lire des données est //**fetch**()//.</note>  <note>Lorsqu'il s'agit de lire le résultat d'une requête contenant la commande //SELECT//, la méthode //query()// retourne un objet de type //PDOStatement// ($reponse dans les exemples). La classe //PDOStatement// dispose de méthodes permettant de récupérer des données. La méthode des objets //PDOStatement// couramment utilisée pour lire des données est //**fetch**()//.</note> 
  
-  * //Syntaxe// \\ //array// nomResultat **->** fetch(//integer// type);  +  * //Syntaxe// \\ //array// nomResultat **->** fetch(//integer// type); \\ \\ Cette méthode retourne un tableau 
- +    * pouvant être indicé si type = PDO::FETCH_NUM 
-Cette méthode retourne un tableau +    * dont les clés sont les noms des colonnes de la table interrogée si type = PDO::FETCH_ASSOC 
-  * pouvant être indicé si type = PDO::FETCH_NUM +    * dont les clés sont mixtes si type = PDO::FETCH_BOTH
-  * dont les clés sont les noms des colonnes de la table interrogée si type = PDO::FETCH_ASSOC +
-  * dont les clés sont mixtes si type = PDO::FETCH_BOTH+
  
 Pour lire toutes les lignes du résultat, il faut créer une boucle while qui lit chaque ligne. Pour lire toutes les lignes du résultat, il faut créer une boucle while qui lit chaque ligne.
  • info/bdd/sqlphp.txt
  • Dernière modification : 2021/08/11 12:10
  • de phil