2017-01-09 20 views
0

これは、ホスト名、ユーザー名、パスワード、およびデータベース名を取ってデータベースに接続するデータベースクラスです。 DatabaseConnectを継承したDatabaseConnectクラスの後のMembersModelクラスは、情報を取得することになっています。 )未定義のメソッドDatabaseConnectに呼び出し:: getAllMembers(:これは私がデータベースクラスを使用してレコードを取得できません。

$db = new DatabaseConnect("localhost", "root", "", "pcaframework"); 
$allMembers = $db->getAllMembers(); 

while ($row = mysqli_fetch_assoc($allMembers)) { 
    echo "First Name: " . $row['name'] ."<br />"; 
    echo "Last Name: " . $row['email'] ."<br />"; 
    echo "<hr />"; 
} 

をやろうとしてきたが、これは私が」致命的なエラーが得るものは何かということです接続し、データベースから取得するには

<?php 
class DatabaseConnect 
{ 
    protected $conn; 
    protected $host, $username, $password, $database; 

    public function __construct($host, $username, $password, $database){ 
     // Create connection 
     $this->conn = new mysqli($host, $username, $password,$database) 
     OR die("There was a problem connecting to the database"); 

     return true; 
    } 

    public function query($sql) { 
     $result = $this->conn->query($sql); 
     if (!$result) { 
      die('Invalid query:'); 
     } 
     return $result; 
    } 

    public function __destruct(){ 
     $this->conn->close() 
     OR die("Problem disconnecting from the database"); 
    } 
} 

class MemberModel extends DatabaseConnect 
{ 
    public function getAllMembers() { 
     $result = $this->query("SELECT * FROM members"); 
     return $result; 
    } 
} 

"ここで問題を指摘できますか?

答えて

2

$dbオブジェクトは、MemberModelのインスタンスである必要があります。 DatabaseConnectクラスには、getAllMembers関数が含まれていません。

$db = new MemberModel("localhost", "root", "", "pcaframework"); 

変更

$db = new DatabaseConnect("localhost", "root", "", "pcaframework"); 

関連する問題