mysqli_autocommit()介绍

mysqli_autocommit()用于设置是否立即执行提交SQL语句,默认是立即执行提交SQL语句的,我们可以使用该函数设置不立即执行SQL语句,例如:

mysqli_autocommit($con,FALSE);

上面代码表示关闭自动提交。

语法:

mysqli_commit(connection,status);

参数:

参数 描述
connection 必需。规定要使用的 MySQL 连接。
status 可选。是否自定提交,可选值为true和false,默认是true.

 

mysqli_autocommit()实例

<?php

    $mysqli = new mysqli(\"localhost\", \"username\", \"password\",
                         \"mydata \");

    $query = \"CREATE TEMPORARY TABLE friends (name VARCHAR(50), age INT) TYPE=InnoDb\";

    mysqli_query($mysqli, $query);

    // 关闭自动提交 http://www.manongjc.com/article/1204.html
    mysqli_autocommit($mysqli, false);

    $friends = array(
                    array(\"name\" => \"Max\",
                          \"age\" => 22),
                    array(\"name\" => \"Cliff\",
                          \"age\" => 45),
                    array(\"name\" => \"Hollie\",
                          \"age\" => 18));

    foreach($friends as $friend) {
        $query = \"INSERT INTO friends VALUES(\'{$friend[\'name\']}\',{$friend[\'age\']})\";
        mysqli_query($mysqli, $query);
    }
    //提交事务 http://www.manongjc.com
    mysqli_commit($mysqli);

    $result = mysqli_query($mysqli, \"SELECT COUNT(*) FROM friends\");
    $rows = mysqli_num_rows($result);

    echo \"There are $rows rows(s) in the table (after rollback)<BR/>\\n\";

    mysqli_close($mysqli);

?>
收藏 打印