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] – phil | info:bdd:sqlphp [2021/08/11 12:04] – [Résultat d'une commande SELECT] phil |
---|
{{ :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] |
* 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. |
| |
---- | ---- |
- **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|}} |
$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> |
<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) |
{{ :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) |
* 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> |
| |
$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> |
| |