浅谈 PHP-MySQL, PHP-MySQLi, PDO 的区别
浅谈 PHP-MySQL, PHP-MySQLi, PDO 的差异
http://blog.roga.tw/2010/06/%E6%B7%BA%E8%AB%87-php-mysql-php-mysqli-pdo-%E7%9A%84%E5%B7%AE%E7%95%B0/
首先两个函数都是用来处理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(); } $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(); }