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
info:bdd:sqlphp [2021/08/11 09:19] – modification externe 127.0.0.1info:bdd:sqlphp [2021/08/11 12:10] (Version actuelle) 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&25|Sommaire 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.
  
 ---- ----
  
 {{ :web:219973.png?nolink&350|}} {{ :web:219973.png?nolink&350|}}
-===== A. Introduction =====+==== 1. Introduction ====
 En PHP, on se connecte à une base de données avec les méthodes suivantes: En PHP, on se connecte à une base de données avec les méthodes suivantes:
   - Avec l'extension mysqli_ (modèle procédural lié à MySQL)   - Avec l'extension mysqli_ (modèle procédural lié à MySQL)
Ligne 29: Ligne 28:
  
 <note tip>On utilise le SGBD MySQL pour les exemples de la base //test//. La table jeux_video peut être téléchargé [[https://webge.fr/doc/wikis/code/web/WEB_TABLE_MSQL_jeux_video.zip|ici]].</note> <note tip>On utilise le SGBD MySQL pour les exemples de la base //test//. La table jeux_video peut être téléchargé [[https://webge.fr/doc/wikis/code/web/WEB_TABLE_MSQL_jeux_video.zip|ici]].</note>
-===== B. Accès à une base de données MySQL avec PHP =====+ 
 +==== 2. Accès à une base de données MySQL avec PHP ====
  L'exploitation d'une base de données se fait à travers les actions suivantes :  L'exploitation d'une base de données se fait à travers les actions suivantes :
   - **Connexion** à la base   - **Connexion** à la base
Ligne 35: Ligne 35:
   - **Traitement** du résultat des requêtes   - **Traitement** du résultat des requêtes
   - **Fermeture** de la connexion   - **Fermeture** de la connexion
-===1Connexion à la base ====+\\ 
 +=== 2.1 Connexion à la base ===
 {{ :web:cobjetbdd.png?nolink&100|}} {{ :web:cobjetbdd.png?nolink&100|}}
  
Ligne 49: 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 62: Ligne 63:
 </code> </code>
  
-==== 2. Envoi d'une requête ====+=== 2.Envoi d'une requête ===
 <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 79: 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 95: Ligne 94:
     * The Rocketeer - Michel - 2     * The Rocketeer - Michel - 2
     * Ice Hockey - Michel - 7     * Ice Hockey - Michel - 7
- +\\ 
-===3Traitement 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 106: 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 +\\ Pour lire toutes les lignes du résultat, il faut créer une boucle while qui lit chaque ligne.
-  * 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. +
   * //Exemple//   * //Exemple//
 <code php *.php> <code php *.php>
Ligne 124: Ligne 119:
 } }
 </code> </code>
 +    * //Résultats// 
 +      * Super Mario Bros - Laurent - 4
 +      * The Rocketeer - Michel - 2
 +      * Ice Hockey - Michel - 7
  
-  * //Résultats//  +=== 2.4 Fermeture de la connexion ===
-    * Super Mario Bros - Laurent - 4 +
-    * The Rocketeer - Michel - 2 +
-    * Ice Hockey - Michel - 7 +
-==== 4Fermeture de la connexion ====+
 <note>Pour clore la connexion, il suffit de détruire l'objet en assignant NULL à la variable qui le gère. Si ce n'est pas fait explicitement, PHP fermera automatiquement la connexion lorsque le script arrivera à la fin.</note> <note>Pour clore la connexion, il suffit de détruire l'objet en assignant NULL à la variable qui le gère. Si ce n'est pas fait explicitement, PHP fermera automatiquement la connexion lorsque le script arrivera à la fin.</note>
  
  • info/bdd/sqlphp.1628666355.txt.gz
  • Dernière modification : 2021/08/11 09:19
  • de 127.0.0.1