所以我有两个文件涉及这个问题。其中一个是Database 类,另一个是include_once
Database 文件然后继续实例化该类的对象以调用函数--getDB(); 的文件。这就是它出错的地方。
数据库类:
<?php
class Database {
private static $datasource='mysql:host=localhost; dbname=db_name';
private static $username='root';
private static $password='root';
private static $db;
private function __construct(){}
public static function getDB(){
if(!isset(self::$db)){
try{
self::$db=new PDO(self::$datasource,self::$username,self::$password);
}
catch(PDOExceptin $e) {
$error=$e->getMessage(); //variable $error can be used in the database_error.php file
//display database error file.
//include('database_error.php');
exit();
}
}
return self::$db;
}
function Database(){
return new Database;
}
}
?>
在我的主文件中,我正在这样做:
<?php
include('partials/header.php');
include_once('functions/pdo.php');
$database = new Database();
$getdb = $database->getDB();
//Anything below won't show because of the failed instantiation of Database object above.
//code..
?>
显然,我在这里做错了什么。我正在使用 php 5.3 运行 MAMP。如何正确使用我的数据库?我有一个与类同名的函数的原因是因为我读到你可以用函数实例化对象,但我也没有让它工作......