以前每次连接完数据库都进行关闭操作最近看手册发现使用mysql_connect的临时连接,手册上说的不需要手动关闭,此连接在PHP执行完毕后将自动关闭!后面又在数据库里面使用show processlist发现一只都只有一条,所以确定数据库会自动关闭连接无意中看PW数据库连接类,发现一个关闭数据库的函数mysql_close($linkid),$linkid我个人理解为在数据库执行show processlist后查询出来的Id值。所以我再进行了测试
----------首先我连接数据库,并且读取一些数据,并执行show processlist获得ID在最后使用mysql_close($linkid)发现报错,没有发现这个可以关闭的连接!说明PHP已经自动在读取完数据后关闭了此连接!
小弟的疑惑是那么我们在什么时候使用mysql_close()呢?
----------首先我连接数据库,并且读取一些数据,并执行show processlist获得ID在最后使用mysql_close($linkid)发现报错,没有发现这个可以关闭的连接!说明PHP已经自动在读取完数据后关闭了此连接!
小弟的疑惑是那么我们在什么时候使用mysql_close()呢?
这与 show processlist获得ID 无关$linkid = mysql_connect();//连接并获取资源
mysql_close($linkid);//关闭资源那么我们在什么时候使用mysql_close()呢?
当你从数据库获取了数据后,还要对这些数据进行复杂运算加工时(肯定很耗时间)
这时就应关闭数据库连接,以便其他人使用
答:在整个页面的所有PHP代码执行完毕后自动关闭
然后我有一个程序,访问量非常大,每秒进入1千人。然后数秒钟后就连接不上数据库,提示“数据库连接数太多”,然后我打开主机上面的mysql数据库,使用“show processlist”后,发现里面的连接的基础已经上百了,都是Sleep状态。都是我那个程序的连接进程。
我现在也是和楼主一样迷糊的,就是该不该在程序里面写关闭数据库的代码,为什么。
如果写,是写在哪个地方(整个程序执行完毕的最后那一句吗)。