我正在按照教程創建基於OOP的登錄系統。我做了所有相應的事情,但在創建pdo時我在第15行的DB.php文件中發生錯誤。無法找出這個錯誤的原因。在那裏停留了一段時間。任何人都可以幫我解決這個錯誤。代碼可能看起來很長,但它是我保證的一塊蛋糕。有四個php文件。無法確定創建PDO對象時可能導致此錯誤的原因
1.init.php文件包含用於創建新PDO()對象的成分。
2.config.php文件用於從init.php文件獲取數據,因爲字符串以('mysql/host')類型傳遞給它並使用explode()函數從中提取數據。
2.DB.php文件用於連接數據庫。 我得到的錯誤是
db.php中的文件:
class DB{
private $_instance=null;
private $pdo,
$query,
$error=false,
$results,
$count=0;
private function __construct(){
try{
$this->$pdo=new PDO('mysql:host='.Config::get('mysql/host').';dbname='.Config::get('mysql/db'),Config::get('mysql/user'),Config::get('mysql/password'));
}catch(PDOException as $e){
echo $e->getMessage();
}
}
public static function getInstance(){
if(!isset(self::$_instance)){
self::$_instance=new DB();
}
return self::$_instance;
}
}
config.php文件:
class Config{
public static function get($path){
if($path){
$config=$GLOBALS['config'];
$arr=explode('/',$path);
foreach($arr as $bit){
if(isset($config[$bit])){
$config=$config[$bit];
}
}
return $config;
}
}
}
的init.php文件:
session_start();
$GLOBALS['config']=array(
'mysql'=>array(
'host' => 'localhost',
'db' => 'login',
'user' => 'root',
'password' => ''
)
);
spl_autoload_register(function($class){
require_once 'c:/xampp/htdocs/login/classes/'.$class.'.php';
});
require_once 'c:/xampp/htdocs/login/function/sanitize.php';
index.php文件:
require_once 'c:/xampp/htdocs/login/core/init.php';
DB::getInstance()->query('SELECT name FROM table WHERE id=1');
catch(PDOException as $ e)' - > catch(PDOException $ e)'爲什麼要使用'as'?在這裏沒有意義(欲瞭解更多信息,請參閱:http://php.net/manual/en/language.exceptions.php) – Rizier123 2015-03-30 19:17:50
刪除'as'。這不是別名。 – 2015-03-30 19:20:24
其中一個這些天我會有我自己的別名@ Fred-ii- – 2015-03-30 19:28:09