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();  
      
    ?>  
  • 相关阅读:
    持续集成环境搭建(一)
    The POSIX API/nss/nscd
    [postfix]转发邮件设置
    [python]python安装包错误
    栈及栈帧讲解
    kernel-init-bash
    nginx no input file specified
    Lumen/Laravel调试API接口利器laravel-debugbar
    homestead实现外部局域网络其他主机的访问
    PHP rabbitmq扩展安装
  • 原文地址:https://www.cnblogs.com/zjfblog/p/8884093.html
Copyright © 2011-2022 走看看