首先两个函数都是用来处理 php 与 mysql交互操作的。
首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。
另外,mysqli封装了诸如事务等一些高级操作,同时封装了数据库操作过程中的很多可用的方法。具体查看 http://cn.php.net/mysqli
应用比较多的地方是 mysqli的事务。
比如下面的示例:
$mysqli = new mysqli('localhost','root','','DB_Lib2Test');
$mysqli->autocommit(false);//开始事务
$mysqli->query($sql1);
$mysqli->query($sql2);
if(!$mysqli->errno){
$mysqli->commit();
echo 'ok';
}else{
echo 'err';
$mysqli->rollback();
}
php手册上讲:php5.3中的mysqli才引入了持久连接,并且php5.3没有提供一个额外的函数来实现,需要在连接参数的hostname,前面加上“p:”标记,才会建立持久连接。