Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26

Discussione: trasporto db

  1. #1

    trasporto db

    Ciao a tutti ho un grosso problema, di recente ho provato ad importare un db su ***** di circa 30.000 record sembra essere andato tutto a buon fine ma non mi funziona il db. Su lnk dove risiede tutt'ora non ho problemi... In effetti alcuni script vanno e altri no. Ad esempio questo
    codice:
     <?php
    error_reporting(E_ALL);
    include("top_foot.inc.php");
    include("config.inc.php");
    include("connect.inc.php");
    top();
    $keys   =   explode   (",",   $chiave);
    $query   =   "";
    reset   ($keys);
    while   (list(,$parola)   =   each   ($keys))
    {   $parola   =   trim($parola);
    if   ($parola   !=   "")
    $query   .=   "titolo   LIKE   '%$parola%'   OR   ingredienti   LIKE   '%$parola%' OR   tipopiatto   LIKE   '%$parola%' OR   ingredienteprincipale   LIKE   '%$parola%' OR   regione   LIKE   '%$parola%' OR   note   LIKE   '%$parola%'    OR   ";
    }
    $query   .=   "0";
    $query   =   "SELECT   id,   titolo, ingredienteprincipale, regione   FROM   DBRicette   WHERE   "   .   $query;
    $result   =   mysql_query($query,   $db);
    //echo $query;  dopo l'esecuzione di una query ne mostra il risultato a video
    while   ($row   =   mysql_fetch_array($result))
    {   echo   "<a   href=\"view.php?id=$row[id]\">"     .   "      $row[titolo]" . "       </a>
    ";   }
    foot()
    ?>
    su aruba non và. Ovviamente il primo script la variabile la prende da un file contenente un form.

    mentre se eseguo questo
    codice:
    <?php
    ########## File corrente: newsinfo.php ###########
    
    include ("config.inc.php");
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title><?php echo $website; ?> - Situazione Database ricette</title>
    <meta name="ROBOTS" content="noindex, nofollow">
    <link rel="stylesheet" type="text/css" href="../style.css">
    
    </head>
    <body>
    <div align="center" class="text">Situazione attuale delle ricette per il sito <?php echo $website; ?> </div>
    
    
    <?php
    
    //mi connetto a mysql
    $db = mysql_connect($db_host, $db_user, $db_password) or die ("Connessione al database non riuscita");
    mysql_select_db($db_name, $db) or die ("Selezione del database non riuscita");
    
    //ricavo le versioni di PHP e MySQL installate sul server
    $php_ver = phpversion();
    $mysql_ver = mysql_get_server_info();
    
    //ricavo dimensioni della tabella news
    $statustable = mysql_query("SHOW TABLE STATUS") or die("Errore: " . mysql_error());
    $status_row = mysql_fetch_array($statustable);
    $tablesize = $status_row["Data_length"];
    $indexsize = $status_row["Index_length"];
    $size = $tablesize + $indexsize;
    
    //converto i bytes in KB e MB
    $tipo = "bytes";
    
    if ($size > 1024) {
      $size = $size  / 1024;
      $tipo = "KB";
    }
    if ($size > 2048) {
      $size  = $size  / 2048;
      $tipo = "MB";
    }
    
    $size = number_format($size,1);
    
    //conto quante notizie ci sono nel database
    $query = "SELECT count(*) AS tot FROM $db_tab";
    $result = mysql_query ($query, $db);
    
    while ($row = mysql_fetch_array($result)) {
    
    $totale = $row['tot'];
    }
    
    //stampo i risultati ottenuti dalle precedenti operazioni
    echo "<div align=\"center\" class=\"text\">Generale</div><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"2\" bgcolor=\"#EEEEEE\"><tr><td class=\"text2\">News presenti nel database: $totale 
    Dimensioni della tabella &quot;$db_tab&quot;: $size $tipo  
    Versione MySQL: $mysql_ver 
    Versione PHP: $php_ver";
    echo "</td></tr></table>
    
    ";
    
    echo"<h1 align=\"center\"><font size=\"5\">Le ultime ricette inserite</font></h1>
    ";
    
    $query   =   "SELECT   id, titolo, tipopiatto, regione   FROM   DBRicette   ORDER   BY   id   DESC   LIMIT   0,10";
    $result   =   mysql_query($query,   $db);
    while   ($row   =   mysql_fetch_array($result))
    {   echo   "<a   href=\"view.php?id=$row[id]\">"   .    "     $row[titolo]      " .     $row[tipopiatto] .   "      $row[regione]</a>
    ";   }
    
    //stampo la struttura della tabella dello script
    echo "<div align=\"center\" class=\"text\">Dump tabella (solo struttura)</div><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"2\" bgcolor=\"#EEEEEE\"><tr><td class=\"text2\">
      DROP TABLE IF EXISTS $db_tab;
    
      CREATE TABLE $db_tab (
    
      id   INT   (5)   UNSIGNED   not   null   AUTO_INCREMENT,
    
      titolo   VARCHAR   (50)   not   null   ,
    
      regione   VARCHAR   (50)   not   null   ,
    
      tipopiatto   TEXT   not   null   ,
    
      ingredienteprincipale` VARCHAR(50) NULL, 
    
      persone   INT   (2) ,
    
      ingredienti   TEXT   not   null   ,
    
      preparazione   TEXT   not   null   ,
    
      note   TEXT   ,
    
      difficolta   VARCHAR   (12)  ,
    
      PRIMARY   KEY   (id))";
      echo "</td></tr></table>";
    
    //chiudo la connessione a mysql
    mysql_close($db) or die ("Impossibile chiudere la connessione con MySQL");
    ?>
    
    [/b]<div align="center"><input type="button" onclick="self.close()" name="close" value="Chiudi">
    
    </body>
    </html>
    funziona e restituisce i dati corretti quindi fisicamente il db funziona. Cosa puo' essere???

  2. #2
    su l**k ho questo

    News presenti nel database: 31899
    Dimensioni della tabella "DBRicette": 7.6 MB
    Versione MySQL: 4.1.20
    Versione PHP: 5.0.4

    su a***a

    News presenti nel database: 1
    Dimensioni della tabella "DBRicette": 3.1 KB
    Versione MySQL: 5.0.22
    Versione PHP: 5.1.6

    Mysql 4 e 5 hanno sintassi cosi' diverse???????????

  3. #3
    Eggià... :rollo:

    Per le nuove istruzioni basta aggiungere una 'i' in fondo a 'mysql' nei vari comandi (mysql_query diventa mysqli_query) e specificargli la connessione ogni volta.

    Anche se mi pare dovrebbe essere conservata la sintassi vecchia per compatibilità..

    Comunque sul tuo PC o installi MySQL 5 oppure su Aruba imposti la versione di MySQL alla 4.
    Non puoi lavorare bene con due versioni differenti...

  4. #4
    grazie per la risposta, quello che mi chiedo è come mai alcuni script vanno e altri no se fosse la sintassi non dovrebbe andare nulla no?
    Io ho un pannello plesk come indico ad aruba di usare mysql 4 ?

  5. #5
    Mmmh non so...

    So da dove si cambia la versione di PHP (dalla 4 alla 5) ma per MySQL non saprei....

    Ti consiglio di installarti la 5 sul PC ed aggiornare la tua applicazione.

    Per il resto, per quello che non funziona..... in che modo non ti funziona?
    Da un errore?
    Seleziona erroneamente i dati?

    Fatti stampare la query e prova ad eseguirla manualmente. Funziona?

    Fai delle prove e facci sapere meglio COME non funziona...

  6. #6
    Originariamente inviato da pictor
    Mmmh non so...

    So da dove si cambia la versione di PHP (dalla 4 alla 5) ma per MySQL non saprei....

    Ti consiglio di installarti la 5 sul PC ed aggiornare la tua applicazione.

    Per il resto, per quello che non funziona..... in che modo non ti funziona?
    Da un errore?
    Seleziona erroneamente i dati?

    Fatti stampare la query e prova ad eseguirla manualmente. Funziona?

    Fai delle prove e facci sapere meglio COME non funziona...
    Allora io ho proceduto cosi:
    ho fatto un dump con phpmyadmin ed ho ottenuto un file .sql
    ho creato il db nel pannello quindi ho reimportato il database non ho ricevuto messaggi di errore
    ho messo il sito in rete compresa la cartella contenente gli script in php che gestiscono il db
    il link del sito è http://www.mondoricette.com/ la sezione di cui parlo è ricette
    quando effettuo una ricerca qualunque sul db come ad esempio ricette per portata o ingrediente principale non ricevo nulla nemmeno un messaggio di errore
    se interrogo il db con dbkiss.php uno script preso da html.it vedo il db con tutti i dati....
    le versioni di php sono le stesse 5 differisce solo la ver di mysql

  7. #7
    stampati con echo o print la query che non ti restituisce niente.
    Incollala qua così la vediamo.

    Inoltre provala direttamente nel manager online del database, eseguendo l'sql. E vedi se ti restituisce qualcosa.
    Se non restituisce niente probabilmente c'è qualcosa di errato nella query.

    Oppure il problema potrebbe essere che non hai abilitato dei warning o degli errori, e non ti notifica il problema che si verifica....

  8. #8
    Secondo me il problema è nella dichiarazione di register_globals.
    Nel nuovo host sono impostate ad off, ed infatti non si sa da dove arrivi la variabile $chiave.

    Prova a fare come segue:
    Codice PHP:
    error_reporting(E_ALL);
    include(
    "top_foot.inc.php");
    include(
    "config.inc.php");
    include(
    "connect.inc.php");
    top();

    $chiave $_POST['chiave']; 
    /* oppure $_GET se le variabili sono passate
    con il metodo GET dalla form */

    $keys   =   explode   (",",   $chiave);
    // eccetera 
    Vedi un po' se così va???
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Mi sa proprio che ci hai azzeccato

  10. #10
    Originariamente inviato da alcio74
    Secondo me il problema è nella dichiarazione di register_globals.
    Nel nuovo host sono impostate ad off, ed infatti non si sa da dove arrivi la variabile $chiave.

    Prova a fare come segue:
    Codice PHP:
    error_reporting(E_ALL);
    include(
    "top_foot.inc.php");
    include(
    "config.inc.php");
    include(
    "connect.inc.php");
    top();

    $chiave $_POST['chiave']; 
    /* oppure $_GET se le variabili sono passate
    con il metodo GET dalla form */

    $keys   =   explode   (",",   $chiave);
    // eccetera 
    Vedi un po' se così va???
    aDESSO VA' ! le ricette vengono visualizzate ! Solo che quando ci clicco sopra non vengono visualizzater nel dettaglio dal view.php che vi posto

    codice:
    <style TYPE="text/css"> 
    
    BODY 
    { 
    scrollbar-base-color: rgb(253,187,129); 
    scrollbar-arrow-color: rgb(200,50,51);
    }
    </style>
    <body bgcolor="#FDBB81" style="font-family: Verdana" text="#333333">
    <?php   
    include("top_foot.inc.php");   
    include("config.inc.php");
    include("connect.inc.php");
    top();
    $chiave = $_POST['chiave']; 
    $query   =   "SELECT   titolo,   regione, tipopiatto, persone,   ingredienti, ingredienteprincipale,  preparazione, note, difficolta   FROM   DBRicette WHERE   id=$id";
    $result   =   mysql_query($query,   $db);
    $row   =   mysql_fetch_array($result);
    $riga.="<table width=600 border=0 cellspacing=0 cellpadding=0 align=center>";
    $riga.="<td  bgcolor=#FDBB81 width=600 height=56 border=0 align=center>$row[titolo]</td>";
    $riga.="<td bgcolor=#FDBB81 border=0 valign=top>";
    $riga.="</table>";
    $riga.="<table width=600 border=1 cellspacing=1 cellpadding=0 bgcolor=#FDBB81 align=center>";
    //$riga.="</table>";
    $riga.="<tr border=1 bgcolor=#FDBB81 valign=top>";
    $riga.="<td  border=1 bgcolor=#FDBB81 width=600>"; 
    //$riga.="
    Nazione o Regione:
    $row[regione]
    ";
    $riga.="
    N.Persone:
    $row[persone]
    ";
    $riga.="
    Portata:
    $row[tipopiatto]
    ";
    $riga.="
    Difficoltà:
    ";
    $riga.="$row[difficolta]
    ";
    if ($row['difficolta'] == "facile")
      $riga.='<img src=1.jpg>';
    elseif($row['difficolta'] == "elaborata")
      $riga.='<img src=2.jpg>';
    elseif($row['difficolta'] == "impegnativa")
      $riga.='<img src=3.jpg>';
    $riga.="<td width=452>";
    $riga.="<div align=justify>Ingredienti:
    $row[ingredienti]</div>
    ";
    $riga.="<table width=300 border=0 cellspacing=0 cellpadding=0>";
    $riga.="</tr>";
    $riga.="<td height=10></td>";
    $riga.="  </tr>";
    $riga.="<div align=justify>Ingrediente Principale:
    $row[ingredienteprincipale]</div>
    ";
    $riga.="<table width=300 border=0 cellspacing=0 cellpadding=0>";
    $riga.="</tr>";
    $riga.="<td height=10></td>";
    $riga.="  </tr>";
    $riga.="<div  align=justify>Preparazione:
    $row[preparazione]</div></td></tr>";
    $riga.="</table>";
    $riga.="<div  align=justify>Note:
    $row[note]</div></td></tr>";
    $riga.="</table>";
    $riga.="<table width=600 border=0 cellspacing=0 cellpadding=0 align=center>";
    $riga.="<tr>";
    $riga.="<td height=10></td>";
    $riga.="</tr>";
    $riga.="</table>";
    $riga.="<table width=600 border=1 cellspacing=0 cellpadding=0 align=center>";
    $riga.="<td><a   href=index.php>Le ultime ricette inserite</a></td>";
    $riga.="<td><a href=\"print.php?id=$_GET[id]\" target=\"_blank\">Stampa la ricetta</a></td>";
    $riga.="<td><a   href=all.php>Visualizza   tutte   le ricette</a></td>";
    $riga.="<td><a   href=search.php>Cerca   nel database</a></td>";
    $riga.="<td><a   href=mailricetta.php?id=".$_GET["id"].">Invia la ricetta</a></td>";
    $riga.="</table>";
    echo $riga;
    mysql_close($db);
    ?>
    <font color="#C83232"></font>
    ho messo sia $chiave = $_POST['chiave']; che $chiave = $_GET['chiave']; e anche $chiave = $_POST['id']; che $chiave = $_GET['id'];
    ma non va'...

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.