◇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 "
";
}$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 "
"; } $result -> free(); if(!$mysqli->more_results()) { break; } echo "**********new result************"; }while($mysqli->next_result()); } $mysqli -> close();