mysqli和mysql的区别

mysqli和mysql的区别,第1张

首先两个函数都是用来处理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 连接是永久连接,而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.

你所说的持久性连接是开机就自动运行吗,不大懂意思,请作下补充!

Mysql的服务安装完就会有,只要一开机就会自动运行这项服务,只要不用杀毒软件禁止就行了。右键我的电脑——管理——服务和应用程序——服务;里面可以看到这项服务,你的要是禁用了,启动就可以了。

如果想开机就启动Mysql这个程序,首先建立它的快捷方式。左下角点开始——程序——启动;双击点开,把快捷方式放进去就行了。或者直接打开那个文件夹,位置C:\Documents and Settings\Administrator\「开始」菜单\程序\启动,放进去一样的效果。

(1)Mysql和Mysqli的区别是:

mysqli连接是永久连接,而mysql是非永久连接。

mysql连接:每当第二次使用的时候,都会重新打开一个新的进程。

mysqli连接:一直都只使用同一个进程。

好处:这样就可以很大程度的减轻服务器压力。

(2)mysql_connect与mysql_pconnect与mysqli_connect:

mysql_pconnect打开的连接不会关闭(即使调用mysql_close也不会关闭,因为对其无效),

类似于连接缓冲池,如果下次有来自于同一个机器的同一个用户名

对同一个数据库的连接,php会自动使用上次已经建立的连接,而不需要再重新建立一个。?

好处:是省去了每次与建立连接的开销,

坏处:是需要浪费一些,占用一些连接,

所以如果用户访问量大的时候会出现错误,要把的max_connections参数改大一点,?或者使用mysql_connect()就解决问题。

connect与pconnect不会带来功能的差异,?只有性能上的差别.

一般php有俩种运行模式,?一是作为cgi运行,?二是作为apache的模块运行.?

作为cgi的时候connect跟pconnect没什么不同,?因为每次cgi进行运行结束后都会被销毁清理掉资源.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8618466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存