Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    43

    Passaggio connessioni db alle funzioni

    Ciao ragazzi ho un dubbio è vorrei sapere cosa ne pensate, vi espongo il caso.

    allora esaminiamo il seguente script:
    codice:
    function esempio($db_conn){
      $query = "SELECT * FROM prova";
      $result = $db_conn->query($query);
      return $result->num_rows;
    }
    
    $db_conn = new mysqli('localhost', 'root', '','test');
    
    $prova = esempio($db_conn);
    
    $db_conn->close();
    Domanda: secondo voi cosa succede quando passo alla funzione $db_conn o meglio cosa succede a $db_conn quando esco dalla funzione?

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    dentro alla funzione esempio() la variabile non viene dichiarata come globale, per cui $db_conn dentro ad esempio() nasce e muore all'interno della funzione stessa.

    $db_conn globale non viene influenzata

    vedi il manuale nella parte variables scope (o qualcosa del genere )
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    43
    tnx il mio dubbio era solo quello che passando per valore l'oggetto $db_conn alla funzione sarebbe stato "necessario"(o meglio opportuno) a fine funzione fare un $db_conn->close(), che ne pensi?

  4. #4
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    considera che la chiusura della connessione al db viene fatta in automatico quando lo script termina

    quindi "necessario" direi di no
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    43
    si, infatti necessario era tra "" , diciamo che il dubbio sta nel fatto che al ritorno di una funzione, il $db_conn, locale alla funzione, viene chiuso oppure no? metti caso io usi una funzione n volte in uno script, cosa succede apro n connessioni che verranno chiuse solo a fine 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.