在会话变量中传递mySQL链接标识符

时间:2012-03-22 22:18:33

标签: php mysql security session-cookies

我的项目中有一种情况,我必须继续使用大量的SQL查询。我在这里有两个问题,一个是,一旦创建了与数据库的连接,它是否在我的所有网页中保持不变?即,我的客户端始终与mySQL服务器保持连接。如果是,那么将mySQL链接标识符保存为会话变量是一种安全的选择,即

$_SESSION['link'] = $link //( $link is mysql link identifier )

因此在我的网页中使用此变量,因此只有一个连接到数据库。我不能用

mysql_pconnect().

我的第二个问题是,一次又一次地保持连接和断开数据库是否正常。这是一个好习惯吗?我正在使用mySQL服务器但只能访问它。

1 个答案:

答案 0 :(得分:1)

我的意见是,当您尝试将$link存储到会话时,您不会保存或赢取任何内容。

您必须为每个页面数据加载连接到sql server。与包含文件相同。如果这个变量存储在会话中或者没有带来相同的效果 - 它在最终计数中的内存成本相同。

现在必须 - 加载页面后,节目结束:)连接丢失,只留下会话内容。 ((是的,这取决于你的webhost设置,如果它是自动关闭数据库连接或在某个时间段内,或者等到你将使用命令执行它。最后一个是最好的节省资源))

您应该开始考虑将加载的contnet引导到会话或文件。然后,您可以保存来自外部资源的连接和数据加载,这可能是您的基本想法。