首先, mysqli 连接是永久连接,而mysql是非永久连接(错!错!错!)。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。
其次,mysqli封装了诸如事务等一些高级 *** 作,同时封装了DB *** 作过程中的很多可用的方法。具体查看 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()
}
注意:
“mysqli 连接是永久连接,而mysql是非永久连接” 这个观点是错误的。
php手册上讲:php5.3中的mysqli才引入了持久连接,并且php5.3没有提供一个额外的函数来实现,需要在连接参数的hostname,前面加上“p:”标记,才会建立持久连接。
Persistent connection support was introduced in PHP 5.3 for the mysqli extension. Support was already present in PDO MYSQL and ext/mysql.
Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.
1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。2、mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级 *** 作,同时封装了DB *** 作过程中的很多可用的方法。
mysqli连接是永久连接,而mysql是非永久连接。
mysql连接:每当第二次使用的时候,都会重新打开一个新的进程。
mysqli连接:一直都只使用同一个进程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)