Visualizzazione dei risultati da 1 a 5 su 5

Discussione: n select

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909

    n select

    Ciao a tutti,
    ho un grosso problema con una query, in pratica dovrei estrarre dei dati da un db e copiarli in un altro db.

    Ho fatto una select con un while e poi Insert into.... solo che mi inserisce solo una riga!

    Io invece dovrei inserire nel nuovo db tutti i record contenuti nel vecchio db secondo un campo "chiave"

    credete sia possibile?

    ....immagino debba fare un foreach (per l'INSERT INTO) o qualcosa del genere ma non ho la più pallida idea di come realizzarlo,

    grazie

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    $result mysql_query("SELECT * FROM tabella1");
    while(
    $row mysql_fetch_array($result)
    {
       
    $subres mysql_query("SELECT * FROM tabella1 WHERE chiave = '".$row['chiave']."'");
       
    $subsrow mysql_fetch_array($subres);
       
    mysql_query("INSERT INTO tabella2 (..........) VALUES ($row[.....], .........)");

    Non so se ci sono dei modi più veloci.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    ti ringrazio....ancora non ho provato ma credo ci possa essere qualche problema nel codice perchè sono due db diversi oltre ad essere due tabelle diverse...per cui devo fare due connessioni, posto il codice
    [/code]
    <?php
    $host= "127.0.0.1";
    $user= "root";
    $password= "";
    $db= "vecchio_db";

    $ID=$HTTP_POST_VARS["ID"];
    mysql_connect($host,$user,$password);

    mysql_select_db("$db");

    print ("");

    $dati = mysql_query ("select pc_topics.author, pc_topics.title, pc_topics.text, pc_topics.date from pc_topics WHERE id=$ID");

    While ( $array = mysql_fetch_array($dati) ){

    $title= $array[title];
    $author= $array[author];
    $text= $array[text];
    $date = $array[date];

    }

    $host= "127.0.0.1";
    $user= "root";
    $password= "";
    $db2= "nuovo_db";


    $ID=$HTTP_POST_VARS["ID"]+10000;

    mysql_connect($host,$user,$password);

    mysql_select_db("$db2");
    $query = "INSERT INTO pc_topics (id,author,title,text, forum, date) VALUES ('$ID,'$author','$title','$text','9','$date')";
    $result = @mysql_query ($query) or die("Errore:".mysql_error());

    ?>
    [/code]

    ..per corretteza sono N INSERT e non N SELECT,

    grazie.

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Immagino che i parametri di connessione siano falsi, ma te lo chiedo tanto per essere sicuri: sti database sono in locale da te? o cmq hai accesso tramite un gestore di DB, come PHPMyAdmin ad esempio? altrimenti potresti fare un bel dump.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    al momento si, ma poi devo trasferirli e gestirli in remoto..

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.