我试图让OOP类来获取用户信息用户的信息,但我得到这个错误OOP PHP错误时,从数据库中获得
致命错误:调用一个成员函数做准备( )中的functions.php非对象上
user.php的 - >
include_once 'functions.php';
$user = new User();
echo $user->get_fullname(5);
的functions.php - >
include_once 'database.php';
class User
{
public function connect()
{
$dbh = new DB_Class();
}
public function get_fullname($uid)
{
$getName = $dbh->prepare("SELECT EmailAddress FROM users WHERE UserID =:username");
$getName->bindParam(':username', $uid);
$getName->execute();
$rowName = $getName->fetch();
$email = $rowName['emailaddress'];
return $email;
}
}
database.php文件 - >
class DB_Class
{
public function connect() {
try {
$dbh= new PDO("mysql:host=localhost;dbname=root",'users','password', array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
));
} catch (PDOException $e) {
echo $e->getMessage();
}
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
$dbh->setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER);
}
}
我在做什么错:(
仍然显示错误.. – Ben 2012-03-07 20:58:30
我看到你编辑的代码,但stil它显示致命错误:调用一个非对象 – Ben 2012-03-07 21:07:27
成员函数connect()你创建了一个新的'DB_Class'实例并将它传递给' User'? '$ user = new User(new DB_Class('your dsn','your_username','your_password')); echo $ user-> get_fullname();' – prodigitalson 2012-03-07 21:07:57