Visualizzazione dei risultati da 1 a 6 su 6

Discussione: 2 db sul solito sito

  1. #1

    2 db sul solito sito

    super problema!
    ho 2 database ke mi vanno a portare i dati sullo stesso sito. + precisamente uno mi serve x le autorizzazioni di login (kiamiamolo A)e l'altro x tutti i dati pubblicati sul sito stesso (notizie, foto..ke kiamiamo B).
    x evitare problemi ho kiamato i rikiami x la connessione ai 2 db in modo diverso, per B $db e per A $db2_ .e tutto funziona.
    poi xò se ci metto un modulo ke deve salvare su B succede un casino inenarrabile. sto modulo deve passarmi l'idevento ke salva in una tabella dove è kiave primaria e auto increment, in un'altra tabella, sempre su B. e questo non lo fa, sulla prima tabella mi viene il valore dell'idevento corretto ma non mi passa più l'idevento alla seconda tabella e mi restituisce 0. per passare l'idevento uso mysql_insert_id();, è giusto? :master:
    se levo la connessione ad A tutto funziona se metto il rikiamo pure x la connessione a B..salta.
    a sti putni pensavo di kiudere la connessione a B prima del modulo e riaprirla dopo..ma non credo sia la via + corretta. una mano?pls!?
    faccio vedere la query di salvataggio..magari qlc ci capisce
    Codice PHP:
    $query_inserimento_evento "INSERT INTO eventi_testi (categoria, comune, nome, inizio, fine, testo, luogo, controllo) 
    VALUES ('
    $categoria', '$comune', '$titolo', '$inizio', '$fine', '$testo', '$luogo','no')";
    $evento mysql_query($query_inserimento_evento$db
    OR die(
    "Errore query eventi" mysql_error());
    $idevento mysql_insert_id();
    $iniz=date("U"$inizio);
    $fin=date("U"$fine);
    $numero_giorni=((($fin $iniz)/86400)+1);
    $differenza_giorni round("$numero_giorni",0);
    for(
    $i=0;$i<$differenza_giorni;$i++)
     {
    $newtime=($inizio + (86400*$i));
    $gg=date("j"$newtime);
    $mm=date("n"$newtime);
    $aa=date("Y"$newtime);
    $query_inserimento_calendario "INSERT INTO eventi_calendario (idevento, giorno, mese, anno, data, controllo)
     VALUES ('
    $idevento', '$gg', '$mm', '$aa', '$newtime', 'no')";
    $calendario mysql_query($query_inserimento_calendario$db
    OR die(
    "Errore query calendario" mysql_error());
    }
    }
    if (!
    $evento OR !$calendario)
     { echo 
    "errore1"; }
     
    if (!
    $evento
    { echo 
    "errore2"; }
    if (!
    $calendario
    { echo 
    "errore3"; }
    else
    { echo
    "ok";


  2. #2
    Utente di HTML.it L'avatar di nabozzz
    Registrato dal
    Nov 2004
    Messaggi
    145
    Non è che hai usato la stessa variabile per i 2 differenti DB?

  3. #3

  4. #4
    penso di aver risolto, qlc mi corregga se non è così...ho specificato il database a cui riferire mysql_insert_id(); e ho messo
    mysql_insert_id($db);
    dovrebbe esser giusto,no? :master:
    $db mi specifica i vari parmateti di connessione, password,user...

  5. #5
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    così facendo stai dicendo alla funzione di riferirsi alla connessione puntata da $db.. (sempre che $db = mysql_connect(..)) quindi adesso dovrebbe funzionare correttamente come t'aspetti..
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  6. #6
    se i due db stanno sullo stesso server è inutile aprire due connessioni, anche perchè la seconda userà la stessa della prima...puoi usare mysql_select_db($nome_db) prima di ogni operazione oppure nella query specificare direttamente il nome del database davanti alla tabella "Select * from db1.tabella1"

    ciau

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 © 2024 vBulletin Solutions, Inc. All rights reserved.