首页 > MySQL, PHP开发 > php mysql与mysqli 区别

php mysql与mysqli 区别

首先两个函数都是用来处理DB 的。

首先, 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();
}
分类: MySQL, PHP开发 标签: ,
  1. 2011年4月9日02:58 | #1

    “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. 本文目前尚无任何 trackbacks 和 pingbacks.