Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    errore parent::__constructor

    salve, ho un problema con la modellazione mvc in php.
    Purtroppo il codice è lungo ma come vedete è molto banale (ho tralasciato la view, non è lì il problema). Il db è formato semplicemente dalla tabella page(id,title,text).
    Ho un errore Call to a member function query() on a non-object
    chiamato alla riga $this->result=$this->mysqli->query($q);Suppongo che l'obj mysqli non venga istanziato per qualche ragione.
    Ok, quindi il titolo che c'entra? sono praticamente certo che il problema sia lì

    Per risparmiare tempo ad interpretare il codice: non fa altro che prelevare una tupla dal db in base ad un id (preso da $_GET['page'] o "1" di default)

    Codice PHP:
    <?php

    class Conf {
        protected 
    $dbhost='localhost';
        protected 
    $dbname='db';
        protected 
    $dbuser='root';
        protected 
    $dbpass='';


    }
    class 
    Db extends Conf{
        private 
    $mysqli;
        public 
    $result;


        function 
    __construct(){
            
    $this->mysqli= new mysqli($this->dbhost,$this->dbuser,$this->dbpass,$this->dbname); 
        }
        public function 
    query($q){
            
    $this->result=$this->mysqli->query($q);
            return 
    $this->result;
        }
    }

    /*---model----------------*/
    class ModContent extends Db{
        private 
    $table;
        function 
    __construct($tab){
            
    $this->table=$tab;
        }

        function 
    selectContent($pageid){
            
    $query="SELECT * FROM page WHERE id='".$pageid."'";
            
    $result=$this->query($query);
            return 
    $result;
        }

    }

    /*---control----------------*/
    class ControlContent extends ModContent {
        function 
    getContent($pageid){
            
    $result=$this->selectContent($pageid);
            
    $content=$result->fetch_assoc();
            return 
    $content;
        }
        function 
    __construct(){
            
    parent::__construct('page');
        }
    }

    $pageid=(isset($_GET['page']))?$_GET['page']:1;
    $cc=new ControlContent();
    $content=$cc->getContent($pageid);


    print_r($content); ?>
    Ultima modifica di jimbo0; 01-12-2015 a 02:05

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.