我每次都需要在php中连接数据库吗?

时间:2011-04-27 12:44:11

标签: php

我有一个名为User的类,有2个方法,一个是“login”,另一个是“register”。 “登录”和“注册”都需要连接数据库。我是否每次都需要连接数据库?我可以只连接一次以减少连接数据库的时间吗?谢谢。

4 个答案:

答案 0 :(得分:4)

保持与数据库的连接打开需要Web服务器和数据库服务器上的专用资源,并且可用的打开连接数通常非常有限(在100范围内)。连接过程通常非常快,不应该是一个问题。通过尽快打开和断开连接,扩展通常没有问题。

与往常一样,首先尝试简单轻量级的方法(每次都会连接并尽快断开连接)。从那里你可以衡量是否确实存在问题。

答案 1 :(得分:1)

是的,您每次都需要连接。但是,只要您的用户名,主机和密码相同,您就可以使用mysql_pconnect()来减少连接负担。这将检查是否存在具有相同连接DSN的任何活动资源。如果找到,它将返回相同的对象,只要它处于活动状态,而不是创建新连接。

希望有所帮助。

答案 2 :(得分:1)

在这种情况下,类User应该期望构造函数中提供的DB连接对象。 然后构造函数应将其保存为局部变量,并且login()和register()方法都希望此变量包含有效的连接对象。

并且,请使用PDO代替旧的mysql_*方法。这将为您提供一个连接对象,您可以在所有需要数据库连接的类中共享

答案 3 :(得分:0)

先生,是的。每次用户连接到您的应用程序以执行登录操作o注册操作时,必须在结束时打开和关闭与DB的连接。保持活动选项将终止您的服务器。