SlideShare une entreprise Scribd logo
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

Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
Moez Moezm
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
Moez Moezm
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
Moez Moezm
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
Moez Moezm
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
kadzaki
 
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
Cyrille Coeurjoly
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
kadzaki
 
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
IZZA Samir
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chabergeshiruh
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
guest6c050e
 
JDBC Java
JDBC JavaJDBC Java
JDBC Java
Sofien AZOUZI
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
Majid CHADAD
 
Apprenez le jQuery
Apprenez le jQueryApprenez 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
Bassem 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 PHP
Kristen 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ées
SOAT
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
HamdiBaklouti
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutant
Stanislas 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

PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
oumaimanouari
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
kadzaki
 
Php1
Php1Php1
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql cours
zan
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
Damien Seguy
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
Abdelhakim Bachar
 
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 MVC
Pierre Faure
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
Mustapha Nakous
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
FethiBenYahia1
 
chapitre 1 Android 2.pptx
chapitre 1 Android 2.pptxchapitre 1 Android 2.pptx
Initiation au php
Initiation au phpInitiation au php
Initiation au php
StrasWeb
 
Initiation au php
Initiation au phpInitiation au php
Initiation au php
Cédric Leclinche
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
LeTesteur
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
cecile59
 
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
HeartKing10
 
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
Hervé Leclerc
 
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
ENSET, Université Hassan II Casablanca
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
Abdoulaye Dieng
 

Similaire à Mpdf 13 (20)

PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
 
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
 
chapitre 1 Android 2.pptx
chapitre 1 Android 2.pptxchapitre 1 Android 2.pptx
chapitre 1 Android 2.pptx
 
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
 

Plus de Moez Moezm

chapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfchapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdf
Moez Moezm
 
chapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfchapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdf
Moez Moezm
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
Moez Moezm
 
Chapitre2.pdf
Chapitre2.pdfChapitre2.pdf
Chapitre2.pdf
Moez Moezm
 
Chapitre1.pdf
Chapitre1.pdfChapitre1.pdf
Chapitre1.pdf
Moez Moezm
 
QuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfQuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdf
Moez Moezm
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptx
Moez Moezm
 
TD3 collection.pdf
TD3 collection.pdfTD3 collection.pdf
TD3 collection.pdf
Moez Moezm
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_web
Moez Moezm
 
Tableau objetjava
Tableau objetjavaTableau objetjava
Tableau objetjava
Moez Moezm
 
Employee c++
Employee c++Employee c++
Employee c++
Moez 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

Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
Txaruka
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
LamoussaPaulOuattara1
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
schneiderbeatrice78
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
bangalykaba146
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
Txaruka
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
bibliogard
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
MedBechir
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 

Dernier (14)

Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 

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