Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Classe MySQL

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40

    Classe MySQL

    Ciao a tutti, volevo chiedere un consulto
    Io ho creato questa classe per gestire un decimo le connessioni a un database, dato che dovrò inserire e richiedere dati da differenti pagine:
    Codice PHP:
    <?php class Classe_MySQL // Proprietà per la connessione al database private $Nome_Host = "localhost"; private $Nome_User = "nome"; private $Password = 'password'; private $Nome_DataBase = 'database'; //Proprietà per il controllo sulle connessioni attive [0 = NONATTIVA][1 = ATTIVA] public $Stato_Connessione = FALSE; //Valore iniziale FALSE //Metodo per la connessione a database MySQL public function Connetti_DataBase() { if(!$this->Stato_Connessione) { //Provo a connettermi a MySQL if($Connessione = mysql_connect($this->Nome_Host, $this->Nome_User, $this->Password) or die (mysql_error())) { //Se la connessione è andata a buon fine seleziono il database $Selezione = mysql_select_db($this->Nome_DataBase, $Connessione) or die (mysql_error()); //Setto che lo stato della connessione è attivo $this->Stato_Connessione = TRUE; } else return FALSE; } else return TRUE; } //Metodo per la disconnessione da database MySQL public function Disconnetti_DataBase() { if($this->Stato_Connessione) if(mysql_close()) $this->Stato_Connessione = FALSE; else return FALSE; else return TRUE; } //Metodo per l'esecuzione di una query public function Query($SQL) { //Se è attiva una connessione if(isset($this->Stato_Connessione)) { //Eseguo la query contenuta nella variabile $SQL $SQL = mysql_query($SQL) or die (mysql_error()); //Restituisco il risultato della query return $SQL; } //Altrimenti ritorno un valore falso else return FALSE; } //Metodo per il conteggio dei risultati di una query public function Conta_Risultato($Risultato) { if($this->Stato_Connessione) return mysql_num_rows($Risultato); else return FALSE; } //Metodo per l'escape di una stringa da passare a una query public function Escape_MySQL($Stringa) { if($this->Stato_Connessione) return mysql_real_escape_string($Stringa); else return FALSE; } //Metodo per liberare il risultato di una query public function Libera_Risultato($Risultato) { if($this->Stato_Connessione) return mysql_free_result($Risultato); else return FALSE; } } ?>
    io volevo tipo richiamare il metodo Connetti_Database in questo modo
    nella pagina creo l'istanza dell'oggetto

    require_once '../Codici/MySQL_Class.php';
    $MySQL = new Classe_MySQL;

    poi nel metodo costruttore, o comunque all'occorenza in una classe voglio connettermi,
    ho provato così ma non funziona
    MySQL::Connetti_DataBase(); e toericamente(ammetto che non me ne intendo troppo) se il metodo è dichiarato come pubblico dovrebbe funzionare
    allora in alternativa ho usato $MySQL->Connetti_DataBase e funziona.

    Dato che mi hanno chiesto di fare un sito vorrei saper se il codice che ho scritto è sicuro, naturalmente è un po scopiazzato da una guida di questo sito, accetto qualunque suggerimento

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Riformatta il codice, tutto su una riga è illegibile.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40
    Scusa non mi ero accorto
    Codice PHP:
    <?php

    class Classe_MySQL
    {
        
        
    // Proprietà per la connessione al database
        
    private $Nome_Host "localhost";
        private 
    $Nome_User "nome";
        private 
    $Password 'passeord';
        private 
    $Nome_DataBase 'db';
        
    //Proprietà per il controllo sulle connessioni attive    [0 = NONATTIVA][1 = ATTIVA]
        
    public $Stato_Connessione FALSE;    //Valore iniziale FALSE
        
        //Metodo per la connessione a database MySQL
        
    public function Connetti_DataBase()
            {
                if(!
    $this->Stato_Connessione)
                    {
                        
    //Provo a connettermi a MySQL
                        
    if($Connessione mysql_connect($this->Nome_Host$this->Nome_User$this->Password) or die (mysql_error()))
                            {
                                
    //Se la connessione è andata a buon fine seleziono il database
                                 
    $Selezione mysql_select_db($this->Nome_DataBase$Connessione) or die (mysql_error());
                                
    //Setto che lo stato della connessione è attivo
                                
    $this->Stato_Connessione TRUE;
                            }
                        else return 
    FALSE;
                    }
                else return 
    TRUE;
            }

        
    //Metodo per la disconnessione da database MySQL        
        
    public function Disconnetti_DataBase()
            {
                if(
    $this->Stato_Connessione)
                    if(
    mysql_close()) $this->Stato_Connessione FALSE;
                    else return 
    FALSE;    
                else return 
    TRUE;
            }
        

        
    //Metodo per l'esecuzione di una query
        
    public function Query($SQL)
            {
                
    //Se è attiva una connessione
                  
    if(isset($this->Stato_Connessione))
                      {
                          
    //Eseguo la query contenuta nella variabile $SQL
                          
    $SQL mysql_query($SQL) or die (mysql_error());
                          
    //Restituisco il risultato della query
                          
    return $SQL
                    }
                
    //Altrimenti ritorno un valore falso
                
    else return FALSE
            }
        
        
    //Metodo per il conteggio dei risultati di una query
        
    public function Conta_Risultato($Risultato)
            {
                if(
    $this->Stato_Connessione)
                    return 
    mysql_num_rows($Risultato);
                else return 
    FALSE;
            }

        
    //Metodo per l'escape di una stringa da passare a una query
        
    public function Escape_MySQL($Stringa)
            {
                if(
    $this->Stato_Connessione)
                    return 
    mysql_real_escape_string($Stringa);
                else return 
    FALSE;
            }
            
        
    //Metodo per liberare il risultato di una query
        
    public function Libera_Risultato($Risultato)
            {
                if(
    $this->Stato_Connessione)
                    return 
    mysql_free_result($Risultato);
                else return 
    FALSE;
            }
    }

    ?>

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.