Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di pcg4m3s
    Registrato dal
    Aug 2007
    Messaggi
    244

    Passare connessione a mysql tramite session

    faccio la connessione in questo modo nella pagina di login:
    Codice PHP:
        $mysqli = new mysqli('localhost','root','pass');
        
    $mysqli->select_db('mioDB'); 
    poi vorrei fare così:
    Codice PHP:
        $_SESSION['db']=$mysqli
    in modo che nelle pagine successive non devo rifare la connessione, ma richiamare quella creata in precedenza, in questo modo:
    Codice PHP:
        $mysqli=$_SESSION['db']; 
    ma non mi funziona!!!
    con le jsp facevo cose del genere... perchè con php non va?

  2. #2
    Per memorizzare oggetti in sessione, bisogna serializzarli,
    quindi per memorizzare in sessione:

    $_SESSION['db']=serialize($mysqli);

    per riprendere dalla sessione:

    $mysqli = unserialize($_SESSION['db']);
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it L'avatar di pcg4m3s
    Registrato dal
    Aug 2007
    Messaggi
    244
    Originariamente inviato da codencode
    Per memorizzare oggetti in sessione, bisogna serializzarli,
    quindi per memorizzare in sessione:

    $_SESSION['db']=serialize($mysqli);

    per riprendere dalla sessione:

    $mysqli = unserialize($_SESSION['db']);
    ma secondo te conviene passarli tramite la sessione o creare ogni volta una nuova connessione?

    ps: ho fatto come dici tu ma non funziona!! mi da dei warning

  4. #4
    se hai una pagina config che includi in ogni pagina, fai la connessione li e basta, dovrebbe andare ovunque.

    Ma perchè farlo?

    Non è meglio connettersi prima della query?
    Ciao!

  5. #5
    Utente di HTML.it L'avatar di pcg4m3s
    Registrato dal
    Aug 2007
    Messaggi
    244
    Originariamente inviato da fmortara
    se hai una pagina config che includi in ogni pagina, fai la connessione li e basta, dovrebbe andare ovunque.

    Ma perchè farlo?

    Non è meglio connettersi prima della query?
    siccome quasi in tutte le pagine ho bisogno di connettermi al db, penso di perdere in efficienza... è veramente così?

  6. #6
    Ma prima di accedere alla sessione importi il file della classe?

    E poi come ti ha suggerito fmortara ti conviene utilizzare un file che includi in ogni pagina.
    Non credo tu perda in termini di prestazione, considera che le sessioni vengono memorizzate in file, quindi di sicuro è più performante connettersi al db in ogni pagina.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  7. #7
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    un approfondimento... mysqli.persistconns

    http://www.php.net/manual/en/mysqli.close.php (l'ultimo commento di questa pagina)

    In generale, che io sappia ma sbaglio spesso, se ho una connessione persistente aperta, PHP prima di creare una nuova connessione utilizza questa (con tutti i vantaggi e svantaggi esposti nel primo link) quando utilizzo una istruzione di connect. Se la connesisone non è persistente viene comunque persa al termine dello script.

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.