我想創建一個使用類的數據訪問。但會發生問題。我的文檔根的public_html所以我/資源文件是外面的文檔根目錄PHP - 創建數據庫訪問類
我在/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);
?>
和我得到這個錯誤:
Warning: require(D:/DevelopmentWebSite/public_html/../resources\dal\PDO.php): failed to open stream: No such file or directory in D:\DevelopmentWebSite\public_html\index.php on line 14
Fatal error: require(): Failed opening required 'D:/DevelopmentWebSite/public_html/../resources\dal\PDO.php' (include_path='.;C:\php\pear') in D:\DevelopmentWebSite\public_html\index.php on line 14
對不起,我正在退出e PHP新手。任何人有什麼想法是什麼錯?
我無法在Windows非常熟悉PHP但是你嘗試過改變 「/」 與「\」? – matteomattei 2012-08-11 08:52:29
我猜你沒有啓用PDO擴展。如果你這樣做,它不會要求你的自動加載器加載'PDO'類... – DCoder 2012-08-11 09:42:52