PHP:找不到类

PHP:找不到类,php,class,Php,Class,我遇到了这个恼人的错误,还没能修复它 <b>Fatal error: Class 'Console' not found in /home/serellyn/public_html/HEIM/php/nieuwbeheer/console_overview.php on line 45.</b> 致命错误:在第45行的/home/serellyn/public_html/HEIM/php/nieuwbeheer/Console_overview.php中找不到类“Con

我遇到了这个恼人的错误,还没能修复它

<b>Fatal error: Class 'Console' not found in /home/serellyn/public_html/HEIM/php/nieuwbeheer/console_overview.php on line 45.</b>
致命错误:在第45行的/home/serellyn/public_html/HEIM/php/nieuwbeheer/Console_overview.php中找不到类“Console”。
让我们首先从这样的层次结构开始

索引(主页) 控制台概述(第页的一节) 包括/连接(连接到数据库) include/console.class(类)

index.php需要connect.php和console.class.php,并加载console_overview.php。代码如下:

<?php
require_once('include/connect.php');
require_once('include/console.class.php');
var_dump(file_exists('include/connect.php'));
var_dump(file_exists('include/console.class.php'));
?>

<div id="mainpage" class="main-container inner">
    <?php
        if (isset($_GET['page'])) {
            $page = $_GET['page'];
        } else {
            $page = "console_overview";
        }
    ?>
</div>
<!-- end: MAIN CONTAINER -->

<script>
var page = "<?php echo $page;?>";
$( "#mainpage" ).load( page + ".php" );
</script>

var page=“”;
$(“#mainpage”).load(page+”.php”);
我使用var_dumps来检查这两个文件是否存在(它们确实存在)。console_overview.php正确加载。现在在console_overview.php中,我尝试从console类获取数据,如下所示:

<?php
foreach(Console::getAllConsoles() as $aConsole) {
    $consoleID= $aConsole->getID();
    $consoleName = $aConsole->getName();
    $consoleHostname = $aConsole->getHostname();
    $consoleGameID = $aConsole->getGameID();
    $consolePowerState = $aConsole->getPowerState();

    echo "<tr>";
    echo "1";
}
?>

我得到的错误是由foreach。。。但我不知道怎么了

Console类如下所示(我正在粘贴最重要的部分,否则代码会太长)


有人能看出问题出在哪里吗? 谢谢你的帮助


编辑:是的,我知道MySQL已经被弃用了,并且每当找不到控制台的问题被修复时,MySQL都会改变这一点。

您的
console\u概述。php
不包括所需的文件。当您从客户端使用JavaScript进行AJAX调用时,它是对服务器的一个单独的HTTP请求,因此您必须在那里再次添加
require()
调用:

<?php
require_once('include/connect.php');
require_once('include/console.class.php');
foreach(Console::getAllConsoles() as $aConsole) {
    $consoleID= $aConsole->getID();
    $consoleName = $aConsole->getName();
    $consoleHostname = $aConsole->getHostname();
    $consoleGameID = $aConsole->getGameID();
    $consolePowerState = $aConsole->getPowerState();

    echo "<tr>";
    echo "1";
}
?>

您的
控制台\u概述。php
不包括所需的文件。当您从客户端使用JavaScript进行AJAX调用时,它是对服务器的一个单独的HTTP请求,因此您必须在那里再次添加
require()
调用:

<?php
require_once('include/connect.php');
require_once('include/console.class.php');
foreach(Console::getAllConsoles() as $aConsole) {
    $consoleID= $aConsole->getID();
    $consoleName = $aConsole->getName();
    $consoleHostname = $aConsole->getHostname();
    $consoleGameID = $aConsole->getGameID();
    $consolePowerState = $aConsole->getPowerState();

    echo "<tr>";
    echo "1";
}
?>


您不能在包含javascript的文件中期望它了解PHP中的情况。这是两个独立的PHP调用。每次从网站上获取PHP站点(除非在PHP中使用
require
),它都会向服务器创建一个新请求。您需要将PHP文件包含在javascript加载的PHP文件中。旁注:您正在使用的
mysql.*
函数正在被弃用,并将从未来版本的PHP中删除。您不应该使用它们来编写新代码。改用
mysqli.*
或PDO。我现在明白了,杰拉尔德,谢谢你的警告。我知道这一点,并且在我的待办事项清单上;)您不能在包含javascript的文件中期望它理解PHP中发生的事情。这是两个独立的PHP调用。每次从网站上获取PHP站点(除非在PHP中使用
require
),它都会向服务器创建一个新请求。您需要将PHP文件包含在javascript加载的PHP文件中。旁注:您正在使用的
mysql.*
函数正在被弃用,并将从未来版本的PHP中删除。您不应该使用它们来编写新代码。改用
mysqli.*
或PDO。我现在明白了,杰拉尔德,谢谢你的警告。我知道这一点,并且在我的待办事项清单上;)啊,对,谢谢!!还有一件事,我现在得到了以下错误:mysql\u fetch\u array()期望参数1是resource,给定布尔值。它来自$result=mysql\u查询($sql);$theResults=array();而($row=mysql\u fetch\u array($result)){$theResults[]=新控制台($row[0]、$row[1]、$row[2]、$row[3]、$row[4]、$row[5]、$row[6]、$row[7]、$row[8]、$row[9]、$row[10])}知道原因吗?
echo mysql\u error()是你的朋友。这个问题已经被反复回答了。啊,对了,谢谢!还有一件事,我现在得到了以下错误:mysql\u fetch\u array()期望参数1是resource,给定布尔值。它来自$result=mysql\u查询($sql);$theResults=array();而($row=mysql\u fetch\u array($result)){$theResults[]=新控制台($row[0]、$row[1]、$row[2]、$row[3]、$row[4]、$row[5]、$row[6]、$row[7]、$row[8]、$row[9]、$row[10])}知道原因吗?
echo mysql\u error()是你的朋友。这个问题一再得到回答。