Maison > développement back-end > tutoriel php > Explication détaillée des méthodes couramment utilisées pour les opérations de transaction PHP mysqli

Explication détaillée des méthodes couramment utilisées pour les opérations de transaction PHP mysqli

墨辰丷
Libérer: 2023-03-26 19:08:01
original
3345 Les gens l'ont consulté

Cet article présente principalement les méthodes courantes d'opération des transactions PHP mysqli et analyse les techniques d'ouverture, de soumission, d'exécution, d'annulation, de fermeture et d'autres techniques d'implémentation de la transaction PHP mysqli sous forme d'exemples. Les amis dans le besoin peuvent s'y référer. 🎜>

Les exemples de cet article décrivent les méthodes courantes d'opérations de transaction PHP mysqli. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1,

//打开(true)或关闭(false)本次数据库连接的自动命令提交事务模式
//参数如果设置为 FALSE,则表示关闭 auto-commit。如果设置为 TRUE,则表示开启 auto-commit(提交任何等待查询)。
bool mysqli::autocommit ( bool $mode )
Copier après la connexion

2,

//回退当前事务
bool mysqli::rollback ()
Copier après la connexion

3,

//提交一个事务
bool mysqli::commit ()
Copier après la connexion

4,

//关闭先前打开的数据库连接
bool mysqli::close ()
Copier après la connexion

5,

//对数据库执行一次查询
//失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE
//参数$resultmode可选。一个常量。可以是下列值中的任意一个:
//MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
//MYSQLI_STORE_RESULT(默认)
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
Copier après la connexion

Exemple de code :

<?php
$mysqli = new mysqli("127.0.0.1","root","111111","test");
if ($mysqli->connect_errno){
  echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
//默认auto-commit 是打开的,可直接提交sql语句
$b1 = $mysqli->query("INSERT INTO test (id,name) values (0,&#39;000&#39;)");
//若要执行事务,先关闭auto-commit
//关闭 auto-commit
$mysqli->autocommit(false);
$res1 = $mysqli->query("INSERT INTO test (id,n1ame) values (1,&#39;111&#39;)");
$b2 = $mysqli->query("INSERT INTO test (id,name) values (2,&#39;222&#39;)");
//有一条失败则回滚,全部成功则提交
if(!$res1 || !$b2){
  echo &#39;回滚!&#39;;
  $mysqli->rollback();
} else {
  echo &#39;提交!&#39;;
  $mysqli->commit();
}
//若想再次自动提交非事务语句,要打开auto-commit
$mysqli->autocommit(true);
$b3 = $mysqli->query("INSERT INTO test (id,name) values (3,&#39;333&#39;)");
//关闭连接
$mysqli->close();
?>
Copier après la connexion

Recommandations associées :

Méthode de requête par lots php+mysqli de données de plusieurs tables, phpmysqli interroge plusieurs tables_Tutoriel PHP

Méthode php+mysqli pour implémenter l'insertion, la mise à jour et la suppression par lots de données, tutoriel phpmysqli_PHP

Méthode php pour ajouter des données à la base de données à l'aide de mysqli , Tutoriel phpmysqli_PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal