Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    leggere da 1 db e scrivere nell'altro: errore

    salve sullo stesso server sto facendo la migrazione da un portale all'altro.
    hanno 2 db totalmente diversi. in giro non c'è niente di pre-fatto, quindi lo script me lo sto facendo da me.
    in pratica dovrei leggere da un db e scrivere nell'altro

    la mia logica è:

    connection
    query1 (select su db1, etc etc)

    while { operazioni lettura db1

    select2
    query2 (insert su db2, etc etc)

    }

    close connection


    il problema è che appena faccio la seconda select...va in errore lo script
    ma non si possono fare 2 select nella stessa connessione?

    grazie
    www.magicolupo.it
    La voce del popolo biancoverde.

    Il sito sull'Avellino Calcio
    solo per amanti della Curva Sud Irpina

  2. #2
    Posta il codice di connessione ai due database che stai utilizzando.

  3. #3
    <?php


    $host = "localhost";
    $user = "root";
    $db = "portale";
    $password = "";

    $db2 = "portale2";



    $i = 1;
    ?>
    <?php
    echo("<body bgcolor=\"#F8F8F8\" topmargin=\"0\" leftmargin=\"0\"><div align=\"center\"><table width=\"70%\" height=\"30\" border=\"0\">");
    $connection=mysql_connect($host,$user,$password) or die("non riesco a connettermi al server mysql");
    $select_db=mysql_select_db($db,$connection) or die ("Non riesco a selezionare il db");
    $query=("SELECT sid, title,time,bodytext,counter FROM nuke_stories WHERE topic=3 and time > '2008-8-1' order by sid desc ");
    $result=mysql_query($query);
    while ($row = mysql_fetch_array($result)){


    echo($row[title] . "</br>");
    $testo=$row[bodytext];
    $tempo=$row[time];
    $quante=$row[counter];

    $select_db2=mysql_select_db($db2,$connection) or die ("Non riesco a selezionare il db joomla");

    $query2=("insert into 'joomla'.'jos_content' ('id','title','alias','title_alias','introtext','f ulltext','state','sectionid','mask','catid',`creat ed`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`) VALUES ($i,$titolos, $titolo,'','',$testo,'1','1','0',$tempo,'62','0',$ tempo,'0','0','0000-00-00 00:00:00',$tempo,'0000-00-00 00:00:00','','','','1'.'0','1','','','0',$quante,' ')");

    $result2=mysql_query($query2);

    echo("</br>".$result2."</br>");
    $i = $i +1;

    echo($i);

    }
    mysql_close($connection);
    ?>
    www.magicolupo.it
    La voce del popolo biancoverde.

    Il sito sull'Avellino Calcio
    solo per amanti della Curva Sud Irpina

  4. #4
    Devi connetterti 2 volte, passando true come 4 parametro di mysql_connect() ed utilizzare i due link identifier nelle rispettive chiamate a mysql_select_db(), mysql_query() etc.

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Scusa ma i due db si trovano sullo stesso server?
    Qual è l'errore che prendi? Su quale istruzione?

  6. #6
    Originariamente inviato da filippo.toso
    Devi connetterti 2 volte, passando true come 4 parametro di mysql_connect() ed utilizzare i due link identifier nelle rispettive chiamate a mysql_select_db(), mysql_query() etc.
    cioè come 4° parametro metto true a tutti e 2 in mysql_conncet()...e ci siamo
    sui link identifier mi sono perso...che intendi?


    Originariamente inviato da luca200
    Scusa ma i due db si trovano sullo stesso server?
    Qual è l'errore che prendi? Su quale istruzione?
    ora in questa stringa :
    mysql_query("insert into jos_content ('id', 'title', 'alias', 'title_alias', 'introtext', 'fulltext', 'state', 'sectionid', 'mask', 'catid', 'created', 'created_by', 'created_by_alias', 'modified', 'modified_by', 'checked_out', 'checked_out_time', 'publish_up', 'publish_down', 'images', 'urls', 'attribs', 'version', 'parentid', 'ordering', 'metakey', 'metadesc', 'access', 'hits', 'metadata') VALUES ($i,$titolos, $titolo,'','',$testo,'1','1','0','1',$tempo,'62',' ',$tempo,'62','0','0000-00-00 00:00:00',$tempo,'0000-00-00 00:00:00','','','','1','0','1','','','0',$quante,' ')") or die("Query non valida: " . mysql_error());

    dice che c'è un errore:
    Query non valida: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', 'title', 'alias', 'title_alias', 'introtext', 'fulltext', 'state', 'sectio' at line 1
    www.magicolupo.it
    La voce del popolo biancoverde.

    Il sito sull'Avellino Calcio
    solo per amanti della Curva Sud Irpina

  7. #7
    mi correggete questa stringa per cortesia??


    up !
    www.magicolupo.it
    La voce del popolo biancoverde.

    Il sito sull'Avellino Calcio
    solo per amanti della Curva Sud Irpina

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    L'errore sono tutti i nomi di colonna fra apici.
    Toglili o sostituiscili con backtick (alt+96)

  9. #9
    e magari poi metti anche le apici a tutte le stringhe in values

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    l'errore vero e proprio è che fulltext è una funzione.
    andava messo il nome del db . fulltext

    e tutto và
    www.magicolupo.it
    La voce del popolo biancoverde.

    Il sito sull'Avellino Calcio
    solo per amanti della Curva Sud Irpina

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.