Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    60

    Connessione a MySQL e gestione errori

    Ciao,
    leggendo in giro ho trovato diversi modi per connettersi e gestire gli errori ad un db MYSQL.
    Li elenco qui di seguito:
    codice:
     
    //Metodo 1
    $connessione = mysql_connect("localhost", "utente_mysql", "password_mysql")
           or die("Connessione non riuscita: " . mysql_error());
    codice:
     
    //Metodo 2
    $connessionedb = mysql_connect($db_host, $db_user, $db_password);
    if ($connessionedb == FALSE)
         die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    codice:
     
    //Metodo 3
    $conn = mysql_connect("localhost", "utente_mysql", "password_mysql");
    
       if (!$conn) {
           echo "Impossibile connettersi al DB: " . mysql_error();
           exit;
       }
    Qualcuno sa dirmi quale dei tre metodi e` il piu` valido, o il migliore, o quello che gestisce meglio l'errore o... insomma quale mi consigliate?

  2. #2
    io ti consiglierei più che altro il metodo con il die() perchè oltre a riportare l'errore ferma lo script ed evita di creare megeri degli errori.

    Quindi ti consiglierei
    //Metodo 1
    $connessione = mysql_connect("localhost", "utente_mysql", "password_mysql")
    or die("Connessione non riuscita: " . mysql_error());

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    o così
    Codice PHP:
    $connessione mysql_connect($db_host$db_user$db_password)
           or die(
    "Connessione non riuscita: " mysql_error()); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    60
    Ho fatto la domanda in quanto sto cercando di scrivere minifunzioni che mi permettono di essere chiamate all'occorrenza.
    Con il metodo 1 non riesco bene a richiamare le funzioni.
    pensavo di fare qualcosa del genere
    in un file inserire i seguenti parametri di connessione
    codice:
     
      $db_host = "localhost";
      $db_user = "";
      $db_password = "";
      $db_name = "";
      $connessionedb = mysql_connect($db_host, $db_user, $db_password);
      $db = mysql_select_db($db_name, $db);
      $disconnessionedb = mysql_close($connnessionedb);
    e poi richiamarli in questo modo
    codice:
     
      function connetti ()
      {
      include("file_parametri.php");
      //connessione al db con i parametri sopra riportati, con relativa gestione degli errori
      if ($connessionedb == FALSE)
         die ("Errore nella connessione. Verificare i parametri nel file config.inc.php" . mysql_error());
    
      //selezione del db sul quale si vuole operare con relativa gestione degli errori
      if ($db == FALSE)
         die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php" . mysql_error());
      }
    codice:
      function disconnetti ()
      {
        // disconnessione dal db con relativa gestione degli errori
      if ($disconnessionedb == FALSE)
         die ("Errore nella disconnessione assicurarsi che la connessione sia attiva o i parametri corretti" . mysql_error());
    
      }
    Che ne dite? potrebbe funzionare?
    L'errore . mysql_error() mi viene riportato chiamando le funzioni in questo modo?
    Oppure per farmi ritornare l'errore devo inserirlo in qualche altra variabile e poi fare return $variabile;?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    no , come includi il file connetti e disconnetti immediatamente il db.
    metti in un include il settaggio delle variabili in un altro le funzioni complete di connessione / disconnessione e gestione degli errori.

    PS meglio non far sapere a nessuno dove tieni le chiavi di casa di brutta gente ne circola tanta

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    60
    quindi mi consigli di fare un file con:

    Codice PHP:
    function connetti ()
      {
    $connessionedb mysql_connect($db_host$db_user$db_password);
      
    $db mysql_select_db($db_name$db);
      
    //connessione al db con i parametri sopra riportati, con relativa gestione degli errori
      
    if ($connessionedb == FALSE)
         die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php" mysql_error());

      
    //selezione del db sul quale si vuole operare con relativa gestione degli errori
      
    if ($db == FALSE)
         die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php" mysql_error());
      } 
    function 
    disconnetti ()
      {
    $disconnessionedb mysql_close($connnessionedb);
        
    // disconnessione dal db con relativa gestione degli errori
      
    if ($disconnessionedb == FALSE)
         die (
    "Errore nella disconnessione assicurarsi che la connessione sia attiva o i parametri corretti" mysql_error());

      } 
    e poi nello script inserire :
    Codice PHP:
    include("file_parametri.php");
    include(
    "funzioni_connessione.php"); 
    Questo, chiamando le funzioni connetti() e disconnetti() mi dovrebbe garantire, in caso di risultato negativo, l'errore sql?

    ed in questo caso, la funzione disconnetti() mi vede la variabile $connnessionedb?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    dopo ogni operazione con mysql devi testare il possibile errore e quindi dare il mysql_error.
    nelle funzioni devi dichiarare global le $db_host, $db_user, $db_password altrimenti non vengono viste

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    60
    Non ti seguo.
    Non basta inserire le variabili nello script principale con include e, sempre con include, inserire la libreria delle funzioni connetti() e disconnetti().
    A questo punto nello script dovrei avere

    $db_host = "localhost";
    $db_user = "";
    $db_password = "";
    $db_name = "";
    function connetti()
    {
    }
    function disconnetti()
    {
    }

    e queste funzioni dovrebbero vedere le variabili user password etc etc... sbaglio?
    o devo ridichiararle all'interno di ogni funzione?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    Codice PHP:
    function connetti() { 

    global 
    $dbhost,$dbname$dbuser,$dbpass;
      
    $connessione mysql_connect($dbhost,$dbuser,$dbpass) or die("Impossibile collegarsi al server MySQL."); 
        
    mysql_select_db($dbname,$connessione) or die("Impossibile selezionare il database $dbname"); 
        return 
    $connessione


    function 
    disconnetti($connessione) { 
        
    mysql_close($connessione); 

    poi
    Codice PHP:
    include("file_parametri.php"); 
    include(
    "funzioni_connessione.php");
    $conn=connetti();
    disconnetti($conn

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    60
    Grazie

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.