【问题标题】:Confused as to why my PHP include isn't working [closed]对为什么我的 PHP 包含不起作用感到困惑 [关闭]
【发布时间】:2011-12-28 07:40:27
【问题描述】:

我的网站原型可以正常工作,这意味着它可以正确连接到数据库。这是通过一个名为“connect.php”的文件完成的,其中包含 mysql_connect() 等。然后,我将连接信息分成单独的文件,一个包含帐户信息 (account.php),另一个包含连接函数 (connect.php),信息正确(我检查了三次),但连接不正确。我能想到的只是我没有以正确的方式包含它。这是我在文件中的内容:

<?php

include('account.php');       
include('connect.php');
include('functions.php');
.....

?>

编辑: 我首先要感谢大家的反对票,你们都很支持。其次,我似乎通过使用 include() 函数将单引号更改为双引号并删除了一些多余的空格来解决我的问题。我不太确定这有什么改变,但显然它改变了。

【问题讨论】:

  • 它在做什么呢?这些文件中有什么?您是否有错误报告,是否收到任何错误?
  • 请复制并粘贴您看到的错误。
  • 我唯一能看出错误的是,除非这三个文件与包含它们的文件位于同一目录中,否则这将不起作用。
  • 这真的没有告诉我们任何事情。当您调试代码时,会发生什么?它在哪里偏离了预期的行为?
  • in account是存储在变量中的所有账户信息,在connect中它只是尝试使用变量连接到数据库。我知道它没有连接到数据库,因为当我只使用一个包含所有帐户信息的文件和一个包含完全相同信息的文件中的连接函数时,它会正确连接。

标签: php mysql include


【解决方案1】:

Include 会立即执行文件中的所有代码,其执行方式与您将文件复制并粘贴到文档中一样。这与 C 或其他语言处理 #include 语句的方式不同。假设您正在将这 3 个文件中的代码复制并粘贴到一个文件中,按照该顺序......它会起作用吗?如果不是,那么 that 不起作用的原因与 this 不起作用的原因相同。 (include() 的逻辑健全性检查)

【讨论】:

  • 实际上,我不确定“C 或其他语言”在技术上如何处理包含语句,除非在语言设计中他们使用头文件来确保包含的顺序无关紧要。
【解决方案2】:

根据您对正在发生的事情的描述和文件的名称,我会假设以下几点:

  1. 包含文件路径与您从中调用包含的文件位于同一相对目录中?
  2. 帐户可能依赖于连接和功能,所以 他们的订单应该像连接,功能一样交换,然后 帐户。

但是是的,您应该打开调试或在每个包含后放置回显语句(即回显“1”;退出;)以查看哪个包含失败或导致错误。

根据所提供的信息,这只是一个开始的初始位置。

我希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多