SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Les transactions avec MySQL et PHP
Une transaction est une unité de travail logique qui contient une ou
plusieurs instructions SQL. Les transactions sont des unités de travail
atomiques pouvant être validées ou annulées. Lorsqu’une transaction apporte
plusieurs modifications à la base de données, toutes les modifications
aboutissent lorsque la transaction est validée ou toutes les modifications
sont annulées lorsque la transaction est annulée.
Exemple concret
Si vous effectuez une transaction de transfert d’argent d’une banque à une
autre, à ce moment-là, si une interruption est due à Internet/Serveur ou à un
autre problème, la transaction reviendra alors à son stade initial et votre
argent sera remboursé à votre compte.
Dans ce tutoriel, nous allons utiliser les tables « Personnes » et
« Commandes » mentionnées ci-dessous.
mysql> SELECT * FROM personnes;
+------------+------------------+----------+
| P_ID | NOM | AGE |
+------------+------------------+----------+
| 1 | Alex Babtise | 22 |
| 2 | Eric Maxich | 30 |
| 3 | Yohan Suinol | 18 |
+------------+------------------+----------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM commandes;
+------------+--------------+----------+
| C_ID | NUM_CMD | P_ID |
+------------+--------------+----------+
| 1 | 001259 | 2 |
| 2 | 005896 | 1 |
| 3 | 009671 | 3 |
+------------+--------------+----------+
3 rows in set (0.00 sec)
Pensez que vous devez ajouter « Thomas Suzik » en tant que nouvelle personne
avec sa commande. Vous exécuteriez les deux instructions INSERT suivantes.
INSERT INTO `personnes` (`p_id`, `nom`, `age`) VALUES (4, 'Thomas Suzik',
50);
INSERT INTO `commandes` (`c_id`, `num_cmd`, `p_id`) VALUES (8, '009741', 4);
Vous pouvez voir que dans la deuxième instruction, 4 est donné pour `P_ID`,
qui est la valeur de `P_ID` dans la première requête. Lorsque vous exécutez
ces deux instructions, supposez que la première échoue et que la deuxième
réussit.
Ensuite, la table `commandes` aura une ligne qui fait référence à une
personne dont l’ID est 4 et qui n’existe pas. Si nous avons exécuté ces deux
instructions dans une transaction MySQL, si la première instruction échoue,
la seconde instruction sera annulée, sans modification.
En PHP, nous pouvons exécuter une transaction en utilisant les fonctions
MySQLi comme ci-dessous.
<?php
$p_id = 4;
//se connecter à la base de données mysql
$conn = mysqli_connect('localhost', 'root', ' ', 'test_db');
mysqli_autocommit($conn, false);
$state = true;
$req1 = "INSERT INTO `personnes` (`p_id`, `nom`, `age`) VALUES ($p_id,
'Thomas Suzik', 50)";
$req2 = "INSERT INTO `commandes` (`c_id`, `num_cmd`, `p_id`) VALUES (8,
'009741', $p_id)";
$res = mysqli_query($conn, $req1);
if (!$res) {
$state = false;
echo "Error: " . mysqli_error($conn) . ".";
}
$res = mysqli_query($conn, $req2);
if (!$res) {
$state = false;
echo "Error: " . mysqli_error($conn) . ".";
}
if ($state) {
mysqli_commit($conn);
echo "Toutes les requêtes ont été exécutées avec succès";
} else {
mysqli_rollback($conn);
echo "Toutes les requêtes ont été annulées";
}
mysqli_close($conn);
?>
Lorsque vous exécutez la fonction mysqli_query(), le résultat est
immédiatement validé dans la base de données. En utilisant la fonction
mysqli_autocommit(), vous pouvez désactiver ce comportement afin que le
résultat ne soit pas validé de manière permanente dans la base de données
tant que vous ne l’ayez pas validé.
À la fin, si la variable « state » est true ( c’est a dire que, aucune erreur
ne s’est produite), nous validons les résultats dans la base de données de
manière permanente à l’aide de mysqli_commit(). Sinon, nous annulons les
résultats en utilisant la fonction mysqli_rollback().
QCM sur PHP – Les bases – Partie 1QCM sur PHP avec des réponses pour la
préparation des entretiens d’embauche, des tests en ligne, aux examens et aux
certifications. Ces questions et réponses…Lire plus
Création d’une table MySQL avec PDO
Connexion à une base de données MySQL avec PHP PDO
Accéder à une base de données MySQL avec PHP
Afficher les données d’une table MySQL avec PHP PDO
Insérer des données dans une table MySQL avec PHP PDO
Multiple Insertion avec PHP PDO
Mise à jour d’une table MySQL avec PHP PDO
Copier une table MySQL avec PHP
Supprimer une ligne d’une table MySQL en PHP PDO
Les transactions avec MySQL et PHP
Appel d’une procédure stockée MySQL avec PHP PDO
Afficher une image de type BLOB en PHP à partir d’une base de données
Vérifier si un émail existe déjà dans la base de données avec PHP
Vérifiez si le nom d’utilisateur existe déjà avec PHP
Authentification d’un utilisateur à l’aide de PDO et password_verify()
Comment faire un formulaire en PHP/MySQL?
QCMs qui pourraient vous intéresser :
Questions techniques sur MYSQL
QCM MySQL Corrigé – Optimisation de requêtes
QCM Base de données avec correction
QCM sur PHP
QCM Symfony
QCM HTML / CSS
QCM Java – Programmation Orientée Objet
QCM Python
QCM Cloud Computing
QCM Framework Spring
QCM Javascript
QCM jQuery
QCM Oracle
QCM sur GIT – Gestionnaire de version
QCM Linux – Gestion de processus
QCM Réseau
QCM Architecture des ordinateurs
QCM Securité informatique
QCM En Informatique Générale
QCM en C
QCM en C#
QCM sur l'algorithmique
QCM Word
QCM Excel
QCM PowerPoint
QCM Access

Contenu connexe

Tendances

Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partiekadzaki
 
Mop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeMop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeCyrille Coeurjoly
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Atelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressAtelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressIZZA Samir
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chabergeshiruh
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapBassem ABCHA
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesSOAT
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutantStanislas Chollet
 
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...Microsoft Technet France
 

Tendances (20)

Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
 
Mop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeMop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commande
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Atelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressAtelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPress
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chaberge
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
JDBC Java
JDBC JavaJDBC Java
JDBC Java
 
Atelier 5
Atelier 5Atelier 5
Atelier 5
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Apprenez le jQuery
Apprenez le jQueryApprenez le jQuery
Apprenez le jQuery
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutant
 
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
[Tuto] Sql backup : Comment sauvegarder une base de données SQL Server dans l...
 

Similaire à Mpdf 13

Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partiekadzaki
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql courszan
 
My sql
My sqlMy sql
My sqlhajaar
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 
Initiation au php
Initiation au phpInitiation au php
Initiation au phpStrasWeb
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open doorLeTesteur
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sqlcecile59
 
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  la validation.pdflaravel.sillo.org-Cours Laravel 10  les bases  la validation.pdf
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdfHeartKing10
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
File manager authentification
File manager authentificationFile manager authentification
File manager authentificationBabacar Ndoye
 
ASP.NET from Zero to Hero
ASP.NET from Zero to HeroASP.NET from Zero to Hero
ASP.NET from Zero to HeroCellenza
 

Similaire à Mpdf 13 (20)

Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
 
Php1
Php1Php1
Php1
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql cours
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
My sql
My sqlMy sql
My sql
 
My sql
My sqlMy sql
My sql
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
Initiation au php
Initiation au phpInitiation au php
Initiation au php
 
Initiation au php
Initiation au phpInitiation au php
Initiation au php
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  la validation.pdflaravel.sillo.org-Cours Laravel 10  les bases  la validation.pdf
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
File manager authentification
File manager authentificationFile manager authentification
File manager authentification
 
ASP.NET from Zero to Hero
ASP.NET from Zero to HeroASP.NET from Zero to Hero
ASP.NET from Zero to Hero
 

Plus de Moez Moezm

chapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfchapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfMoez Moezm
 
chapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfchapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfMoez Moezm
 
QuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfQuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfMoez Moezm
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxMoez Moezm
 
TD3 collection.pdf
TD3 collection.pdfTD3 collection.pdf
TD3 collection.pdfMoez Moezm
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_webMoez Moezm
 
Tableau objetjava
Tableau objetjavaTableau objetjava
Tableau objetjavaMoez Moezm
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilahMoez Moezm
 

Plus de Moez Moezm (13)

chapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfchapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdf
 
chapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfchapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdf
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
 
Chapitre2.pdf
Chapitre2.pdfChapitre2.pdf
Chapitre2.pdf
 
Chapitre1.pdf
Chapitre1.pdfChapitre1.pdf
Chapitre1.pdf
 
QuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfQuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdf
 
TD1.pdf
TD1.pdfTD1.pdf
TD1.pdf
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptx
 
TD3 collection.pdf
TD3 collection.pdfTD3 collection.pdf
TD3 collection.pdf
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_web
 
Tableau objetjava
Tableau objetjavaTableau objetjava
Tableau objetjava
 
Employee c++
Employee c++Employee c++
Employee c++
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilah
 

Dernier

PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 

Dernier (18)

PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 

Mpdf 13

  • 1.
  • 2. Les transactions avec MySQL et PHP Une transaction est une unité de travail logique qui contient une ou plusieurs instructions SQL. Les transactions sont des unités de travail atomiques pouvant être validées ou annulées. Lorsqu’une transaction apporte plusieurs modifications à la base de données, toutes les modifications aboutissent lorsque la transaction est validée ou toutes les modifications sont annulées lorsque la transaction est annulée. Exemple concret Si vous effectuez une transaction de transfert d’argent d’une banque à une autre, à ce moment-là, si une interruption est due à Internet/Serveur ou à un autre problème, la transaction reviendra alors à son stade initial et votre argent sera remboursé à votre compte. Dans ce tutoriel, nous allons utiliser les tables « Personnes » et « Commandes » mentionnées ci-dessous. mysql> SELECT * FROM personnes; +------------+------------------+----------+ | P_ID | NOM | AGE | +------------+------------------+----------+ | 1 | Alex Babtise | 22 | | 2 | Eric Maxich | 30 | | 3 | Yohan Suinol | 18 |
  • 3. +------------+------------------+----------+ 3 rows in set (0.00 sec) mysql> SELECT * FROM commandes; +------------+--------------+----------+ | C_ID | NUM_CMD | P_ID | +------------+--------------+----------+ | 1 | 001259 | 2 | | 2 | 005896 | 1 | | 3 | 009671 | 3 | +------------+--------------+----------+ 3 rows in set (0.00 sec) Pensez que vous devez ajouter « Thomas Suzik » en tant que nouvelle personne avec sa commande. Vous exécuteriez les deux instructions INSERT suivantes. INSERT INTO `personnes` (`p_id`, `nom`, `age`) VALUES (4, 'Thomas Suzik', 50); INSERT INTO `commandes` (`c_id`, `num_cmd`, `p_id`) VALUES (8, '009741', 4); Vous pouvez voir que dans la deuxième instruction, 4 est donné pour `P_ID`, qui est la valeur de `P_ID` dans la première requête. Lorsque vous exécutez ces deux instructions, supposez que la première échoue et que la deuxième réussit. Ensuite, la table `commandes` aura une ligne qui fait référence à une personne dont l’ID est 4 et qui n’existe pas. Si nous avons exécuté ces deux instructions dans une transaction MySQL, si la première instruction échoue, la seconde instruction sera annulée, sans modification. En PHP, nous pouvons exécuter une transaction en utilisant les fonctions MySQLi comme ci-dessous. <?php $p_id = 4; //se connecter à la base de données mysql $conn = mysqli_connect('localhost', 'root', ' ', 'test_db'); mysqli_autocommit($conn, false); $state = true; $req1 = "INSERT INTO `personnes` (`p_id`, `nom`, `age`) VALUES ($p_id, 'Thomas Suzik', 50)"; $req2 = "INSERT INTO `commandes` (`c_id`, `num_cmd`, `p_id`) VALUES (8,
  • 4. '009741', $p_id)"; $res = mysqli_query($conn, $req1); if (!$res) { $state = false; echo "Error: " . mysqli_error($conn) . "."; } $res = mysqli_query($conn, $req2); if (!$res) { $state = false; echo "Error: " . mysqli_error($conn) . "."; } if ($state) { mysqli_commit($conn); echo "Toutes les requêtes ont été exécutées avec succès"; } else { mysqli_rollback($conn); echo "Toutes les requêtes ont été annulées"; } mysqli_close($conn); ?> Lorsque vous exécutez la fonction mysqli_query(), le résultat est immédiatement validé dans la base de données. En utilisant la fonction mysqli_autocommit(), vous pouvez désactiver ce comportement afin que le résultat ne soit pas validé de manière permanente dans la base de données tant que vous ne l’ayez pas validé. À la fin, si la variable « state » est true ( c’est a dire que, aucune erreur ne s’est produite), nous validons les résultats dans la base de données de manière permanente à l’aide de mysqli_commit(). Sinon, nous annulons les résultats en utilisant la fonction mysqli_rollback().
  • 5.
  • 6. QCM sur PHP – Les bases – Partie 1QCM sur PHP avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus Création d’une table MySQL avec PDO Connexion à une base de données MySQL avec PHP PDO Accéder à une base de données MySQL avec PHP Afficher les données d’une table MySQL avec PHP PDO Insérer des données dans une table MySQL avec PHP PDO Multiple Insertion avec PHP PDO Mise à jour d’une table MySQL avec PHP PDO Copier une table MySQL avec PHP Supprimer une ligne d’une table MySQL en PHP PDO Les transactions avec MySQL et PHP Appel d’une procédure stockée MySQL avec PHP PDO Afficher une image de type BLOB en PHP à partir d’une base de données Vérifier si un émail existe déjà dans la base de données avec PHP Vérifiez si le nom d’utilisateur existe déjà avec PHP Authentification d’un utilisateur à l’aide de PDO et password_verify() Comment faire un formulaire en PHP/MySQL? QCMs qui pourraient vous intéresser : Questions techniques sur MYSQL QCM MySQL Corrigé – Optimisation de requêtes QCM Base de données avec correction QCM sur PHP QCM Symfony QCM HTML / CSS
  • 7. QCM Java – Programmation Orientée Objet QCM Python QCM Cloud Computing QCM Framework Spring QCM Javascript QCM jQuery QCM Oracle QCM sur GIT – Gestionnaire de version QCM Linux – Gestion de processus QCM Réseau QCM Architecture des ordinateurs QCM Securité informatique QCM En Informatique Générale QCM en C QCM en C# QCM sur l'algorithmique QCM Word QCM Excel QCM PowerPoint QCM Access