zoukankan      html  css  js  c++  java
  • 转 mysqli 事务常用方法

    原文:mysqli 事务常用方法

    1、

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

    2、

    //回退当前事务  
    bool mysqli::rollback ()  

    3、

    //提交一个事务  
    bool mysqli::commit ()  

    4、

    //关闭先前打开的数据库连接  
    bool mysqli::close ()  

    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 ] )  

    代码示例:

    <?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,'000')");  
    //若要执行事务,先关闭auto-commit  
    //关闭 auto-commit  
    $mysqli->autocommit(false);  
    $res1 = $mysqli->query("INSERT INTO test (id,n1ame) values (1,'111')");  
    $b2 = $mysqli->query("INSERT INTO test (id,name) values (2,'222')");  
    //有一条失败则回滚,全部成功则提交  
    if(!$res1 || !$b2){  
        echo '回滚!';  
        $mysqli->rollback();  
    } else {  
        echo '提交!';  
        $mysqli->commit();  
    }  
    //若想再次自动提交非事务语句,要打开auto-commit  
    $mysqli->autocommit(true);  
    $b3 = $mysqli->query("INSERT INTO test (id,name) values (3,'333')");  
    //关闭连接  
    $mysqli->close();  
      
    ?>  
  • 相关阅读:
    Docker 设置阿里云镜像
    Linux 安装Navicat Premium 15
    Ubuntu常用工具安装
    Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx
    Ubuntu18.04修改apt-get源
    Spring定时任务
    Quartz学习总结
    cron表达式
    将VirtualBox里安装的虚拟机在后台运行方法(在状态栏隐藏窗口)
    npm小结
  • 原文地址:https://www.cnblogs.com/zjfblog/p/8884093.html
Copyright © 2011-2022 走看看