Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105

    problema con mysql_close()

    Salve a tutti. ho Creato un pagina di connessione al db con due funzioni connect() e disconnect().

    Quest'ultima è composta da un semplice mysql_close().
    Quando utilizzo la funzione mi dà il seguente messaggio d'errore

    Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource

    e non capisco perché.

    Qualcuno saprebbe dirmi cosa c'è che non va? Grazie a tutti, ciao.

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Cosa le passi come parametro?

  3. #3
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Ho passato un po' di tutto per fare delle prove.

    Attualmente mysql_close($connetti), dove $connetti = mysql_connect(ecc. ecc.).

    L'errore potrebbe essere rintracciabile nel fatto che le due funzioni fanno parte di una classe? Potrei aver fatto qualche errore di sintassi. Posto il codice.

    Codice PHP:
    <?php
    class DB{//creo la classe DB

        
        
    function connect (){//connessione a MySQL
        
    $connetti=mysql_connect("localhost""root""root") or die ("connessione non riuscita: ".mysql_error());
        
        
    $sceglidb=mysql_select_db("registrazione"$connetti);
        if (!
    mysql_select_db("registrazione")){
        die(
    "Impossibile connettersi al database");
        }
        }
        
        function 
    disconnect(){//chiude la connessione
        
            
    $chiudi mysql_close($connetti) or die ("non chiude ".mysql_error());
        
        }
        
    }
    //fine classe
    ?>

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    La documentazione di php dice che mysql_close non è obbligatorio in quanto le connessioni non persistenti sono chiuse in automatico alla fine dello script.
    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

  5. #5
    non sono un esperto, ma credo che non la chiuda perchè $connetti è visibile sono nella prima funzione(quella che ti fa connettere), in quanto dichiarata li dentro.

    dovresti provare a dichiarare $connetti fuori dalla funzione che ti fa connettere.
    Prova così...

  6. #6
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Ho riletto un po' di teoria sulla classe e gli oggetti e ho cambiato la pagina nel modo seguente.

    Codice PHP:
    <?php
    class DB{//creo la classe DB

        
    var $connetti;
        var 
    $sceglidb;
        var 
    $chiudi;
        
        function 
    connect (){//connessione a MySQL
        
    $this->connetti=mysql_connect("localhost""root""root") or die ("connessione non riuscita: ".mysql_error());
        
        
    $this->sceglidb=mysql_select_db("registrazione"$this->connetti);//scegli il db

        
    if (!mysql_select_db("registrazione")){
        die(
    "Impossibile connettersi al database.");
        }
        }
        
        function 
    disconnect(){//chiude la connessione
        
            
    $this->chiudi mysql_close($this->connetti) or die ("non chiude ".mysql_error());
        }
    }
    //fine classe
    ?>
    Non mi dà più problemi con il close (anche se non era obbligatorio), però in compenso mi dà questo nuovo messaggio d'errore.

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

    Immagino che si tratti sempre di un problema di connessione...

  7. #7
    Originariamente inviato da tziggie
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
    L'errore fa riferimento alla funzione mysql_num_rows(), che non vedo nel codice che hai scritto. Dovresti quindi postare il resto del codice, altrimenti e' impossibile cercare di risolvere il problema.

  8. #8
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Giusto.
    Questa è la pagina check.php e serve a verificare se l'utente è loggato oppure no. Include la pagina di connessione che ho postato prima.
    Ecco il codice.

    Codice PHP:
    <?php
    include "connessione_al_db.php";
    include
    "funzioni.php";

    $DB=new DB();//creo variabile oggetto DB che utilizza la classe DB creata nella pagina di connessione
    $DB->connect();//richiamo la funzione connect

    session_start();
    $parti=explode("@@",$_cookie["login"]);

    $nick_utente_cookie=$parti[0];
    $password_utente_cookie=$parti[1];

    $verifico_user=mysql_query("SELECT*
    FROM 'utenti'
    WHERE 'nick'='
    $nick_utente_cookie'
    AND 'pass'='password_utente_cookie'
    LIMIT 0, 1"
    );
    $ok=mysql_num_rows($verifico_user);


    $_SESSION['autorizzato']=mysql_num_rows($verifico_user);//Ecco la riga incriminata!


    $autorizzato=$_SESSION['autorizzato']
    Ciao, grazie.

  9. #9
    Qualche errore di sintassi nella query, prova cosi':

    codice:
    $verifico_user=mysql_query("SELECT * FROM utenti WHERE nick = '$nick_utente_cookie' AND pass = '$password_utente_cookie'");

  10. #10
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    In pratica hai levato le virgolette, giusto?

    Il problema rimane, accidenti .

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.