0

エラー:

致命的なエラー: 61 行目の paging.php の非オブジェクトに対するメンバー関数 fetchAll() の呼び出し

コード:

$this->_results = $this->_db->getOrder('users', array('first_name', 'ASC')); 

    while ($row = $this->_results->fetchAll(PDO::FETCH_ASSOC) ) { //Line 61 Error

getOrder()関数 (順序でデータを取得するためのもの) :

public function getOrder($table, $order) {  
   return $this->actionOrder('SELECT *', $table, $order);
}


public function actionOrder($action, $table, $order = array()) {

if (count($order) === 2) {
        $operators = array('ACS','DESC');

        $field    = $order[0];
        $operator = $order[1];

        if (in_array($operator, $operators)) {
            $sql = "{$action} FROM {$table} ORDER BY {$field} {$operator}";

            if (!$this->query($sql, array($operator))->error()) {
                return $this;
            }
        }
    }
}

私が達成しようとしているのは、データベースに登録されているユーザーのリストを生成/印刷/エコーすることです。

私が試したこと:

  • foreachの代わりに使用while

  • データベースへの接続を確認しています (正常にチェックアウトされています)

  • 使用される変数をクラス レベルのプライベート変数 ( $this->_blahblahblah) からローカル スコープ変数のみに変更する$blahblahblah

  • のさまざまな形式を使用してfetchAll

  • _resultsオブジェクトの値を確認する

  • 休憩を取った後、私はこれを試しました:

    public function people_display() {

    $output = '';
    
    //$this->_results = $this->_db->getOrder('users', array('first_name', 'ASC'));
    $results = $this->_db->get('users', array('username', '=', $this->_user = User::data()->username));
    
    while ($row = $results->fetchAll(PDO::FETCH_ASSOC) ) {
    
        $output .= '
        <tr>
            <td>' . $row['username']. '</td>
            <td>' . $row['first_name']. '</td>
            <td>' . $row['last_name']. '</td>   
        </tr>';
            //<td>'/* . . */'</td> 
            //<td>'/* . . */'</td>
    
    }
    

エラーが発生しました:

致命的なエラー: 152 行目の user.php のプライベート プロパティ Paging::$_data にアクセスできません

誰か助けてくれませんか?前もって感謝します

4

0 に答える 0