Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当包含或需要外部文件时,无法使用后期静态绑定在PHP中扩展类_Php_Database_Web - Fatal编程技术网

当包含或需要外部文件时,无法使用后期静态绑定在PHP中扩展类

当包含或需要外部文件时,无法使用后期静态绑定在PHP中扩展类,php,database,web,Php,Database,Web,下面是源类: require_once('database.php'); class DatabaseObject { public static function find_all() { $sql = "SELECT * FROM " .static::$dbName; $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_AS

下面是源类:

require_once('database.php');

class DatabaseObject {

    public static function find_all()
    {
        $sql = "SELECT * FROM " .static::$dbName;
        $result = mysql_query($sql);
        while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
        {
            echo "<div class = user>";
            echo "Name: {$row['first_name']} {$row['last_name']} <br/>";
            echo "E-Mail: {$row['email']} <br/>";
            echo "Username: {$row['username']} <br/>";
            echo "Password: {$row['password']}";
            echo "</div> <hr/>";
        }
    }


}
尝试运行user.php后,我得到以下输出:

> "; echo "E-Mail: {$row['email']} 
"; echo "Username: {$row['username']} 
"; echo "Password: {$row['password']}"; echo "
"; } } } ?>
Fatal error: Class 'DatabaseObject' not found in C:\wamp\www\library\includes\user.php on line 5

有人知道发生了什么吗????如果DatabaseObject类与用户类thouth位于同一个文件中,则一切正常。。。不确定include是怎么回事。

我很难为情地说,我丢失了DatabaseObject.php文件顶部的?php标记。对不起,浪费了大家的时间(

错误信息非常清楚。是什么让您认为应该找到类“DatabaseObject”?旁注:对于LSB,在
DatabaseObject
中引用
$dbName
时,请使用
静态
而不是
self
,您不应该再使用mysql_*函数,它们已被弃用,它们不适合使用MySQL 5,它们迟早会从语言中删除。请改用mysqli或PDO。我确实尝试过使用static::而不是self::得到相同的错误。Oswald:带有用户类的文件确实有一个require(“databaseobject.php”)…如果我把类放在同一个文件中,一切都会正常工作。include有问题,这就是我想弄清楚的。
> "; echo "E-Mail: {$row['email']} 
"; echo "Username: {$row['username']} 
"; echo "Password: {$row['password']}"; echo "
"; } } } ?>
Fatal error: Class 'DatabaseObject' not found in C:\wamp\www\library\includes\user.php on line 5