Visualizzazione dei risultati da 1 a 4 su 4

Discussione: query sempre vuote

  1. #1
    Utente di HTML.it L'avatar di vegasy
    Registrato dal
    Dec 2010
    Messaggi
    47

    query sempre vuote

    Ciao a tutti, ho un grosso problema.
    Ho un hosting su aruba.
    Ho un sito pronto da caricare e in locale funzione benissimo.
    1- carico il sito sull'ftp
    2- vado nel pannello di gestione del db e trasferisco il db sul server
    3- eseguo delle query sul pannello di controllo per testare - tutto ok
    4- vado sul sito - e qui viene il bello
    nessun errore a video, sito all'apparenza funzionale, ma a quanto pare sembrerebbe che le query risultino sempre vuote.

    Per essere più precisi ecco il sito www.fdlcasa.com
    il database ha dei dati caricati, quindi DEVO vedere dei risultati, cosa che in locale funziona, sul pannello di controlle le query funzionano, ma sul sito ritornano vuote.
    il codice utilizzato è mysql, non mysqli, ho già avuto precedenti db su aruba e non mi è mai capitato questo.
    tra parentesi la libreria che ho create per fare le funzioni e connessioni con il db è sempre la solita.

    qualcuno ha idea di cosa possa essere?
    pls!!!

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Hai provato a mettere un or die(mysql_error()); dopo della selezione del database o della connessione ?
    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 L'avatar di vegasy
    Registrato dal
    Dec 2010
    Messaggi
    47
    questa è la classe che uso per il db, la elenco tutta per correttezza
    codice:
    class TMySQL
    {
        private $hostname;
        private $username;
        private $password;
        private $dbname;
        
        private $active;    //    variabile di controllo sulla connessione dell'istanza
        private $link;        //    connessione attualmente attiva
        
        private $tab_log_error;
        private $last_query;
        
        /*    ----------    __CONSTRUCT    ----------    */
        //    l'host e il database saranno sempre i soliti
        public function __construct($host, $db)
        {
            $this->active = false;    //     nessuna connessione attiva
            $this->link = false;    //
        
            $this->hostname = $host;
            $this->dbname = $db;
            
            $last_query = NULL;
        }
        
        /*    ----------    __DESTRUCT    ----------    */
        public function __destruct()
        {
            $this->disconnect();
        }
        
        /*    ----------    CONNECT    ----------    */
        //    ad ogni connessione ci riferiremo sempre come username
        //    nel caso l'accesso sia privilegiato, verrà passato il parametro alla funzione
        public function connect( $username = "username", $password = "password" )
        {
            //    se non c'è ancora una connesione
            if( $this->active == false )
            {
                //    mi assicuro che i parametri vengano inseriti correttamente
                $name = ($username == NULL) ? "username" : ($username == "") ? "username" : $username;
                $pass = ($password == NULL) ? "password" : ($password == "") ? "password" : $password;
                $username = trim( filter_var($name,FILTER_SANITIZE_STRING) );
                $password = trim( filter_var($pass,FILTER_SANITIZE_STRING) );
                
                //    utilizzo l'username e password passati come parametro
                $this->link = mysql_connect( $this->hostname, $username, $password ) or die("Impossibile stabilire una connessione.");
                
                //    se mi sono connesso, mi aggancio al database
                $select_db = mysql_select_db($this->dbname, $this->link) or die("Impossibile connettersi al database.");
                    if( $select_db == false )
                        echo $_GET['sql_error'] = $this->log_error();
                
                //    connessione avvenuta con successo
                $this->active = true;
                //    l'username e password verranno confermati solo dopo l'avvenuta connessione
                $this->username = $username;
                $this->password = $password;
                
                return true;
            }
            return false;
        }
        
        /*    ----------    DISCONNECT    ----------    */
        //    la funzione disconnette la sua connessione. non altre.
        public function disconnect()
        {
            if( $this->active == true  )
            {
                //    ovviamente l'istanza fa sempre e solo riferimento a se stessa
                $status = mysql_close( $this->link );
                    if( $status == false )
                        $_GET['sql_error'] = $this->log_error();
                //    disconnessione avvenuta con successo
                $this->active = false;
                $this->link = false;
                return true;
            }
            return false;
        }
        
        //    il parametro $query, per il metodo query($query) deve essere una stringa
        
        /*    ----------    QUERY    ----------    */
        //    $query => string
        public function query( $query )
        {
            if( is_string($query) )
            {
                //    tengo traccia dell'ultima query per il log_error
                $this->last_query = $query;
                //    copio la stringa passata
                $string = $query;
                //    eseguo l'interrogazione
                $query = mysql_query($string);
                //    se non è stata eseguita l'interrogazione visualizzo l'errore relativo
                    if( $query == false )
                        $_GET['sql_error'] = $this->log_error();
                return $query;
            }
            return false;
        }
        
        /*    ----------    EXTRACT    ----------    */
        //    query => resource
        public function extract_row( $result )
        {
            if( $this->active == true )
            {
                if( is_resource($result) )
                {
                    $obj = mysql_fetch_object($result);
                        if( $obj == false )
                            $_GET['sql_error'] = $this->log_error();
                    
                    return $obj;
                }
                else
                {
                    $_GET['sql_error'] = $this->log_error();
                }
            }
            else
            {
                $_GET['sql_error'] = $this->log_error();
            }
        }
        
        public function log_error()
        {
            /*
            if( mysql_error($this->link) )
            {
                $date = getdate();
                $error = mysqli_error($this->link);
                $query = $this->last_query;
                $this->query("INSERT INTO ".$tab_log_error." (date, error, last_query) VALUES ('".$date."','".$error."','".$query."')");
    
                return mysql_error($this->link);
            }
            */
            return mysql_error($this->link);
        }
    }

  4. #4
    Utente di HTML.it L'avatar di vegasy
    Registrato dal
    Dec 2010
    Messaggi
    47
    risolto il problema, avevo nominato una tabella con un carattere accentato, in locale funzionava e non mi ero reso conto dell'errore.
    infatto poi quando andavo a generare la query online mi usciva sempre 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.