Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158

    OOP metodi Mysqli in classi

    Ciao a tutti! sono nuovo per quanto riguarda la OOP.
    il mio problema è che non riesco a capire come utilizzare i metodi offerti dalla classe mysqli all'interno di classi scritte da me...

    Posto un esempio di codice...

    codice:
    <!DOCTYPE html>
    
    
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        <?php
            
        $mysqli = new mysqli('localhost','root','abcd','abcdef');
        
        class layout {
       
        private $query;
        private $row;
        private $mysqli;
        
        public function getProp(){
            
            $this->query = $this->mysqli->query("SELECT * FROM tag");
            $this->row = $this->query->fetch_object();
            
            echo $this->row->generali;
            
        }
        
        }
        
        $layout = new layout();
            
        $layout->getProp();
            
        ?>
        </body>
    </html>
    la funzione getProp() non stampa niente
    magari sto facendo un errore grossolano...

    Grazie a tutti in anticipo!

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Gli oggetti sono come le funzioni, cioè vedono solo quello che è stato dichiarato all'interno. Nel tuo caso, dovresti istanziare mysqli all'interno dell'oggetto quando php lo crea (metodo _construct mi pare).

    Codice PHP:
    class layout {      
       private 
    $query;    
       private 
    $row;    
       private 
    $mysqli;    
        function 
    __construct() {
          
    $this->mysqli = new mysqli('localhost','root','abcd','abcdef');
        }

        public function 
    getProp(){                
          
    $this->query $this->mysqli->query("SELECT * FROM tag");        
          
    $this->row $this->query->fetch_object();                
          echo 
    $this->row->generali;            
        }        
     }        
     
    $layout = new layout();            
     
    $layout->getProp();            
    ?> 
    Ultima modifica di badaze; 11-08-2014 a 21:02
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Gentilissimo! Ora ho capito! Grazie...

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.