Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [PHP] Oop applicata a query di connessione

    Salve,
    premetto che sto appena cominciando a studiare la Oop, proprio da questo sito, che la spiega in modo molto più chiaro di quanto ho letto in altri manuali.

    Il risultato di quel che ho combinato, non mi segnala errori sintattici ma lo stesso non avviene nessuna connessione.

    Questa è la versione procedurale e funzionante:

    Codice PHP:
    <?php

    $db_host
    ="localhost";
    $db_user="root";
    $db_pass="";
    $db_name="login";

    $conn=mysql_connect($db_host$db_user$db_pass);
    if(!
    $conn)
    {
        die(
    "Errore di connessione");
    }

    $sel=mysql_select_db($db_name$conn);
    if(!
    $sel)
    {
    die(
    "Errore di connessione del database");
    }
        
    ?>
    Questo invece è il mio maldestro tentativo di versione Oop:

    Codice PHP:
    <?php

    class blog{
        private 
    $db_host;
        private 
    $db_user;
        private 
    $db_pass;
        private 
    $db_name;
        protected 
    $conn;
        protected 
    $sel;
        
        public function 
    __construct(){
            
    $this->db_host='localhost';
            
    $this->db_user='root';
            
    $this->db_pass='';
            
    $this->db_name='login';
        }
        
        public function 
    conn(){
            
    $this->db_host;
            
    $this->db_user;
            
    $this->db_pass;
        }
        
    }class 
    conn extends blog{
        
        public function 
    connected(){
            
    $this->conn mysql_connect($this->conn());
        }
        
        public function 
    Errore_connessione(){
            if(!
    $this->conn){
                die(
    'Errore di connessione');
            }
        }
    }class 
    sel extends conn{
        
        public function 
    sel(){
            return 
    $this->db_name;
            return 
    $this->conn;
        }
        
        public function 
    selected(){
            
    $this->sel mysql_select_db(sel());
        }
        
        public function 
    Errore_selezione(){
            if(!
    $this->sel){
                die(
    'Errore di connessione del database');
                }
        }
    }

    $conn = new conn();
    $conn->connected();

    $Errore_connessione = new conn();
    $Errore_connessione->Errore_connessione();

    $Errore_selezione = new sel();
    $Errore_selezione->Errore_selezione();

    ?>
    Mi compare la scritta "Errore di connessione". Ovvero (!$this->conn) risulta "TRUE". Potete spiegarmi che errore sto facendo? grazie.

  2. #2
    HO RISOLTO IN QUESTO MODO:

    Codice PHP:
    <?php

    class blog{
        private 
    $db_host;
        private 
    $db_user;
        private 
    $db_pass;
        private 
    $db_name;
        public 
    $conn;
        public 
    $sel;
        
        public function 
    __construct(){
            
    $this->db_host='localhost';
            
    $this->db_user='root';
            
    $this->db_pass='';
            
    $this->db_name='login';
            
    $this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pass);
            
    $this->sel=mysql_select_db($this->db_name,$this->conn);
        }
        
    }class 
    conn extends blog{
        
        public function 
    Errore_connessione(){
            if(!
    $this->conn){
                echo(
    'Errore di connessione');
            }else{
                echo(
    'Connessione effettuata');
            }
        }
            
            public function 
    Errore_selezione(){
            if(!
    $this->sel){
                echo(
    'Errore di connessione del database');
                }else{
                    echo(
    'Connessione al database riuscita');
                }
            }
        }

    $conn = new blog();
    $conn->conn;

    $sel= new conn();
    $sel->sel;

    $Errore_connessione = new conn();
    $Errore_connessione->Errore_connessione();

    $Errore_selezione = new conn();
    $Errore_selezione->Errore_selezione();

    ?>

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.