Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92

    Connessione a due database

    Ciao a tutti, il mio codice è questo:

    Codice PHP:
    $db_host "localhost";
    $db_user_lista "root";
    $db_password "pass";
    $db_database_lista "lista_nozze";
    $db_database_login "login_adm";
    $connessione_login=mysql_connect($db_host,$db_user_login,$db_password);
    $connessione_lista=mysql_connect($db_host,$db_user_lista,$db_password);

    if(isset(
    $_GET['submit_table']))
    {
       if(
    is_array($_GET['liste']))
       {
          foreach(
    $_GET['liste'] as $liste)
          {
             
    mysql_select_db($db_database_lista,$connessione_lista);
             
    mysql_query('DROP TABLE '.$liste.'') or die(mysql_error());
            
    mysql_select_db($db_database_login,$connessione_login);
            
    mysql_query("DELETE FROM pass_usr WHERE TABLENAME = '".$liste."'") or die(mysql_error());
          }
                
    header("Location: index.php?pag=mostra_liste");
          
    ob_flush();
       }
       else
       {
          echo 
    '<div class="risp">Seleziona almeno una lista</div>';
       }

    Praticamente nel database login_adm c'è una tabella di nome pass_usr con campo TABLENAME uguale al nome di un'altra tabella contenuta nel database lista_nozze.
    Dovrei cancellare contemporaneamente tabella in lista_nozze e riga dove TABLENAME = Nome_Tabella nella tabella pass_usr nel database login_adm. Lo so che è un po' macchinoso ma in realtà c'ero riuscito facendo una connessione unica esterna e poi una selezione dei database diversa ad ogni ciclo. Il problema è che con tophost mi danno username diverso per ogni database, quindi non posso farlo. Ho provato a fare come vi ho mostrato ma non funziona.
    In realtà potrei anche mettere la tabella pass_usr nel database lista_nozze, ma poiché in un'altra pagina mostro il contenuto di lista_nozze tramite SHOW TABLE, vorrei che pass_usr non fosse mostrata.
    Potreste aiutarmi??
    Ultima modifica di Sampei89; 06-03-2014 a 13:42

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Ho risolto, mancava
    Codice PHP:
    $db_user_login "root"
    Ma va bene questo procedimento?? Mi sembra un po' brutto e macchinoso.

  3. #3
    Non c'entra molto.. ma sono curioso..
    La gestione di due database è strettamente necessaria ?
    Se hai fatto tu questa scelta, come mai ?

  4. #4
    Per prestazioni secondo me ti converrebbe aprire un database ed effettuare tutti i delete; quando ha finito apri il secondo database ed effettui i delete.
    Poi fai l'header location.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Quote Originariamente inviata da W Thunderbird Visualizza il messaggio
    Non c'entra molto.. ma sono curioso..
    La gestione di due database è strettamente necessaria ?
    Se hai fatto tu questa scelta, come mai ?
    Per W Thunderbird, ne ho fatti due proprio perché in uno ci sono le password in un altro ci sono delle tabelle che stampo tutte a video. Per questo ho detto che non è necessario, ma dovrei poter stampare a video tutte le tabelle tranne 2 e non so se è possibile.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Caricato sul server mi da errore: Unknown column '...' in 'where clause'

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Quote Originariamente inviata da Vincent_E Visualizza il messaggio
    Per prestazioni secondo me ti converrebbe aprire un database ed effettuare tutti i delete; quando ha finito apri il secondo database ed effettui i delete.
    Poi fai l'header location.
    Si ma se effettuo i delete nella variabile $_GET[] rimane memorizzato ciò che c'era prima così da poter effettuare il ciclo con le stesse variabili?
    Cioè posso fare due foreach con la stessa variabile $_GET[] ?
    Ultima modifica di Sampei89; 06-03-2014 a 21:52

  8. #8
    Quote Originariamente inviata da Sampei89 Visualizza il messaggio
    Si ma se effettuo i delete nella variabile $_GET[] rimane memorizzato ciò che c'era prima così da poter effettuare il ciclo con le stesse variabili?
    Cioè posso fare due foreach con la stessa variabile $_GET[] ?
    Si.
    Se non modifichi il dato contenuto in una variabile, trovi sempre lo stesso dato.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Ho risolto con due foreach annidati con la stessa variabile
    Codice PHP:
    $_GET['liste'

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.