(26) PHP 随笔---php数据库编程 mysqli扩展数据库

◇mysql扩展库 和 mysqli    (mysql improve)扩展库比较:         mysqli是mysql增强版扩展,

  ◇0、mysql是存面向对象的方法,mysqli是具有面向对象和面向过程的两套方法。

  ◇1、这两个都是php设计者给我们提供的扩展库

  ◇2、都可以完成对mysql数据库的操作

  ◇3、mysqli扩展库是mysql扩展库的改进版本

  ◇4、mysqli扩展库比mysql扩展库效率更高,稳定性更好

◇关闭连接:

  ◇数据库的链接是非常稀有的资源,用完后要及时释放,如果不能及时、正确的关闭,极易导致系统奔溃。

  ◇使用的原则是尽量晚创建,尽量早释放

批量执行sql语句:       利用MySQLi::multi_query($sqls);

  ◇批量执行dml语句

1 $sqls="sql1;sql2;...";
2 mysqli::multi_query($sqls);

  ◇批量执行dql语句:作用是可以一次性的取回多个结果集

        $sqls="select * from user1;";
        $sqls.="select * from user1 where id =6;";
        if($res = $mysqli->multi_query($sqls))
        {
                do
                {
                        $result = $mysqli->store_result();
                        while($row = $result->fetch_row())
                        {
                                foreach($row as $key => $val)
                                {
                                        echo "--$val";
                                }
                                echo "<br/>";
                        }
                        $result -> free();
                        if(!$mysqli->more_results())
                        {
                                break;
                        }
                        echo "**********new result************";
                }while($mysqli->next_result());
        }
        $mysqli -> close();

mysql事务处理:事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。如网上转账就是典型的要用事务来处理,用以保证数据的一致性。

  ◇事务的使用(四大特点:原子性,一致性,隔离性,持久性):

1 $mysqli->autocommit(false);         //设置自动保存为false
2 $mysqli->rollback();                      //事务回滚
3 $mysqli->commit();                      //提交事务,一旦提交,无法回滚

  ◇在Mysql的控制台,也可以使用事务来操作,具体步骤如下:

1 start transaction             //开启事务
2 savepoint  a                   //设置保存点a
3 ....                                 //进行你的操作
4 rollback to a                   //如果有问题,就会滚到a保存点
5 commit                         //如果没问题就提交

 

 

 

 

 

 

 

 

 

 

 



        $sqls="select * from user1;";        $sqls.="select * from user1 where id =6;";        if($res = $mysqli->multi_query($sqls))        {                do                {                        $result = $mysqli->store_result();                        while($row = $result->fetch_row())                        {                                foreach($row as $key => $val)                                {                                        echo "--$val";                                }                                echo "<br/>";                        }                        $result -> free();                        if(!$mysqli->more_results())                        {                                break;                        }                        echo "**********new result************";                }while($mysqli->next_result());        }        $mysqli -> close();

 

posted @ 2016-03-09 10:01  考拉爱喵喵  阅读(122)  评论(0编辑  收藏  举报