我想使用类创建数据访问。但出现问题。我的文档根目录是 public_html 所以我的 /resources 文件在文档根目录之外
我在 /resources/dal/task.php 有一个数据访问层类
<?php
namespace resources\dal;
class task
{
public $result;
public function __construct()
{
try {
# MySQL with PDO_MYSQL
$DBH = new PDO('mysql:host=localhost;dbname=test', 'root', 'abc123');
$DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION, PDO::NULL_EMPTY_STRING );
}
catch(PDOException $e) {
echo "I'm sorry. Please try again later.";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
}
public function __destruct()
{
$DBH = null;
}
public function select()
{
$STH = $DBH->prepare("SELECT * FROM task");
$STH->execute();
$result = $STH->fetch(PDO::FETCH_ASSOC);
$this->result = $result;
}
}
?>
这是我的主页(在 public_html 内) index.php
<?php
spl_autoload_extensions(".php");
spl_autoload_register(function ($class) {
require $_SERVER["DOCUMENT_ROOT"] . '/../' . $class . '.php';
});
use resources\dal as DAL;
$taskClass = new DAL\task();
$result = $taskClass->select();
var_dump($result);
?>
我得到这个错误:
警告:要求(D:/DevelopmentWebSite/public_html/../resources\dal\PDO.php):无法打开流:第 14 行的 D:\DevelopmentWebSite\public_html\index.php 中没有此类文件或目录
致命错误:require():在 D:\DevelopmentWebSite\public_html 中打开所需的 'D:/DevelopmentWebSite/public_html/../resources\dal\PDO.php' (include_path='.;C:\php\pear') 失败\index.php 在第 14 行
对不起,我对 PHP 很陌生。有人知道出了什么问题吗?