要求文件需要数据库连接的正确方法

时间:2013-12-05 14:31:44

标签: php mysql database templates

我不经常使用php,并且想知道是否有人可以为我回答这个问题。

我有一个像这样的文件夹结构:

-pages/rightCol.php
-pages/privacyPolicy.php
index.php

在我的索引文件中,我有一个与数据库的连接,如下所示:

ob_start();
require($_SERVER['DOCUMENT_ROOT'] . "/inc/db.inc.php");

工作正常。

我想在页面之间分离出一些重复的代码,所以我创建了rightCol.php文件。它需要连接到数据库。所以我现在在索引文件的顶部创建一个查询结果并使用语句:

这很有效。

我还想将它包含在privacyPolicy.php页面中。这不起作用,因为我不想将查询代码放在需要rightCol.php文件的每个页面的顶部。

我想将db内容放在rightCol.php中。当我尝试这个,然后我的privacyPolicy.php文件工作,但然后我的索引中断。可能是因为我需要两次db文件,一次在索引的顶部,一次在rightCol.php文件中。

如何在不需要重复代码的地方正确设置。

由于

修改

我改变了我的号码以使用require_once。

privacyPolicy.php页面工作正常,但当我查看我的index.php时,它有错误。

错误:未选择数据库。

2 个答案:

答案 0 :(得分:1)

  1. 仅在index.php的开头包含db/inc.php并打开连接。这样,它将在整个脚本中保持开放。然后在您网站的最末端关闭它;
  2. 如果您在知道包含和不包含的位置时遇到问题(并且仍然出于某些未知原因希望将其包括在内,那么请习惯require_once方法。这样,文件将只包含一次,第二次尝试将被忽略。

答案 1 :(得分:1)

嗯,解决问题的快捷方法是使用require_once。但我强烈建议您使用micro-framework之类的Slim