【发布时间】:2015-04-07 07:00:28
【问题描述】:
我是 PHP 编程新手,尝试使用 PDO 连接到数据库。但是在做错误时:
“第 5 行的 D:\xampp\htdocs\web\oop\index.php 中未找到类 'DB'”
请帮忙。”详细信息已经给出。在此先感谢。
config.php
<?php
class Config{
public static function get($path = null)
{
if($path){
$config = $GLOBALS['config'];
$path = explode('/', $path);
foreach($path as $bit)
{
if(isset($config[$bit]))
{
$config = $config[$bit];
}
}
return $config;
}
}
}
?>
core/init.php
require_once 'functions/sanitize.php';
$GLOBALS['config'] = array(
'mysql' => array(
'host'=> '127.0.0.1',
'username' => 'root',
'password' => '',
'db' => 'oop'
),
'remember' => array(
'cookie_name' => 'hash',
'cookie_expiry' => 604800
),
'session' => array(
'session_name' => 'user'
)
);
spl_autoload_register(function($class)
{
require_once 'classes/' . $class . '.php';
}
)
?>
classes/DB.php
<?php
namespace application\libs;
use POD;
class DB
{
private static $_instance = null;
private $_pdo,
$_query,
$_error = false,
$_results,
$_count = 0;
private function __construct()
{
try{
$this->_pdo = new POD('mysql:host=' .
Config::get('mysql/host') . ';dbname=' .
Config::get('mysql/db'), Config::get('mysql/username'),
Config::get('mysql/password'));
}catch(PDOException $e){
die($e->getMessage());
}
}
public static function getInstance()
{
if(!isset(self::$_instance)){
self::$_instance = new DB();
}
return self::$_instance;
}
}
?>
index.php
<?php
require_once 'core/init.php';
DB::getInstance();
?>
【问题讨论】:
-
尝试\application\libs\DB::getInstance();
-
试试 $this->_pdo = new POD('mysql:host='.Config::get('mysql/host').';username='.Config::get('mysql /username').';password='.Config::get('mysql/password').';dbname='.Config::get('mysql/db').';');
-
您的自动加载器似乎找不到您的类,您需要尝试调试自动加载部分,尝试回显您正在获取的
$class参数并查看它的路径 -
您好,John,在 index.php 下使用“\application\libs\DB::getInstance();”时出现另一个错误。
-
你好 anant kumar 你到底想问什么,请你解释一下。