2012-06-02 33 views
1

我有錯誤在我的代碼上:PDO。數據庫管理器類 - 函數查詢()非對象

Fatal error: Call to a member function query() on a non-object in ... on line 47

47號線:

$query = $this->link->query("SELECT * FROM links ORDER BY DESC"); 

全碼:

<?php 

    class Manage{ 
     public $link; 

     function __construct() { 
      include_once 'class_database.php'; 
      $conn = new database; 
      $this->link = $conn->connect(); 

      return $this->link; 
     } 

     function getData($table_name, $id=null){ 
      if(isset($id)){ 
       $query = $this->link->query("SELECT * FROM $table_name"); 
      }else{ 
       $query = $this->link->query("SELECT * FROM $table_name ORDER BY id ASC"); 
      } 
      $rowCount = $query->rowCount(); 
      if($rowCount >=1) 
      { 
       $query->setFetchMode(PDO::FETCH_ASSOC); 
       $result = $query->fetchAll(); 
      } 
      else{ 
       $result = 0; 
      } 
      return $result; 
     } 

     function insertData($table_name, $fields_name, $bind_param, $field_values){ 
      $query = $this->link->prepare("INSERT INTO $table_name ($fields_name) VALUES  ($bind_param)"); 
      $query->execute($field_values); 

      $rowCount = $query->rowCount(); 
      return $rowCount(); 
     } 

     function deleteData($table_name, $id){ 
      $query = $this->link->query("DELETE FROM $table_name WHERE id = '$id'"); 
      $rowCount = $query->rowCount(); 
      return $rowCount; 
     } 

     function selectLinks(){ 
      $query = $this->link->query("SELECT * FROM links ORDER BY DESC"); 
      $rowCount = $query->rowCount(); 

      if($rowCount >=1) 
      { 
       $query->setFetchMode(PDO::FETCH_ASSOC); 
       $result = $query->fetchAll(); 
      } 
      else{ 
       $result = 0; 
      } 
      return $result; 
     } 
    } 

如何修理它?

+2

$ conn-> connect()返回什麼? –

+0

請顯示'var_dump($ this-> link);' - 還有,你可以顯示'database'類的定義嗎? – DaveRandom

+0

另外'ORDER BY DESC'應該是'ORDER BY column_name DESC'(應該不是嗎?) – DaveRandom

回答

0

關於「非對象」的錯誤在這裏是你的問題......數據庫對象並沒有被創建,所以後續的動作與這個不存在的對象將會失敗。您有關授權的其他信息是您必須解決的問題......正確授權和連接,然後數據庫對象將被創建,因此在您使用時存在。

相關問題