我编写了一个简单的php/mysql网页,其中有page1.php, page2.php等。因为我在每个页面(或至少90%的页面)上都使用数据库,所以我在它们的顶部放置了标准的
mysql_connect("localhost"," "," ");
mysql_select_db(" ");
.
.
mysql_close();
与我的查询。
我的问题是我真的需要连接到每个页面上的数据库,或者有任何方法来避免这种情况,仍然保持连接?有些页面链接到其他页面,我可以利用SESSIONS发布一些变量,但我的问题是更全球化的东西。
网络在自然状态下工作。这意味着你不知道客户端是否会回来进行第二次请求。
无论如何,您绝对希望在每个页面上连接/断开与数据库的连接。这是唯一的方法,以确保您没有泄漏连接和网站可以保持响应。
大多数系统都内置了处理连接池的方法,这使得请求新连接的行为非常非常快,因此您不必担心。
您可以将mysql_pconnect
用于持久连接,尽管它不会对您有太大帮助,而且要正确执行它可能会很麻烦。最好在每个页面上都连接,特别是当数据库服务器和php服务器在同一台机器上运行时。
尝试使用
mysql_pconnect()
从PHP.net "的行为与mysql_connect()非常相似,但有两个主要区别。
首先,当连接时,该函数将首先尝试找到一个已经打开的(持久)链接,该链接具有相同的主机,用户名和密码。如果找到一个,将返回一个标识符,而不是打开一个新的连接。
第二,当脚本执行结束时,不会关闭与SQL服务器的连接。相反,链接将保持打开状态以供将来使用(mysql_close()不会关闭由mysql_pconnect()建立的链接)。"
如果你只是想让它,这样你就不必硬编码到每个文件的顶部,在一个文件中编写连接代码,然后使用require /path/to/file/name.php
,它将每次建立它注意:它可能是包含的,而不是需要的。