Visualizzazione risultati 1 fino 16 di 16

Discussione: Non accedo al database.

  1. #1
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito Non accedo al database.

    Buongiorno a tutti è da qualche giorno che non riesco più ad inserire i dati sul mio database tramite script php, pur non avendo modificato nulla. Grazie per l'eventuale risposta.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Appare qualche errore? Specifichi tutti i campi non "default" della tabella?

    Prova ad incollare la stessa query sotto "query" da phpMyAdmin (all'inizio specifica il tuo database cliccando su "my_vonax", poi "SQL" ed esegui la query).

    Ciao!
    Ultima modifica di alemoppo : 23-01-2018 alle ore 15.28.24

  3. #3
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    Non appare nessun errore, il tutto era funzionante sino a qualche giorno fa. Sotto query da phpMyAdmin funziona, proprio non riesco a capire.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Se la query identica funziona su phpMyAdmin, allora c'è qualche problema lato PHP.

    Prima prova a impostare un'altra versione di PHP da qui. Se ancora non hai risolto posta il codice.

    Ciao!

  5. #5
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    Grazie per la risposta. Avevo già provato a cambiare versione di PHP ma niente, questo è il codice che funziona ormai da anni e che ho inviato ad un amico che lo utilizza con successo, sempre su altervista:
    Codice PHP:
    <?php
    $file
    = "******.txt";
    $open = fopen($file, "w");
    $percorso = file("*******.txt");
    while(list(,
    $value) = each($percorso))
    {
    list(
    $data, $totale, $attuale, $max, $oramax, $err) = split("[-]", $value);
    //list($data, $totale, $attuale, $max, $oramax) = explode("-", $value);
    $params["data"] = trim($data);
    $params["totale"] = trim($totale);
    $params["attuale"] = trim($attuale);
    $params["max"] = trim($max);
    $params["oramax"] = trim($oramax);
    $params["err"] = trim($err);
    }
    $link=mysql_connect("localhost","vonax","password")
    or die (
    "Non riesco a connettermi al server MySql.");
    //echo "Connessione riuscita.";
    mysql_select_db ("my_vonax",$link);
    $query="INSERT INTO kw VALUES('$data', '$totale', '$attuale','$oramax','$max')
    ON DUPLICATE KEY
    UPDATE totale ='
    $totale', attuale ='$attuale', datamax='$oramax', max= '$max'";
    $res=mysql_query($query);
    for (
    $m = 1; $m <= 12; ++$m) {
    $query = "SELECT SUM(attuale) as gen FROM kw where data LIKE '%%/0$m/2018' OR data LIKE '%%/$m/2018'";
    $result = mysql_query($query);
    list(
    $gen) = mysql_fetch_array($result);
    if (
    $gen==0){
    $gen=0;
    }
    $ge[$m]=$gen;
    $testo = $ge[$m].'-';
    $write = fwrite ($open, $testo);
    }
    fclose($open);
    ?>
    Ultima modifica di alemoppo : 24-01-2018 alle ore 16.08.38 Motivo: tag [php]

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Le vecchie funzioni mysql non andrebbero più usate: sono deprecate da PHP5.5 e rimosse su PHP7.

    Ti consiglio di riscrivere la parte mysql in mysqli; è molto simile vedi l'esempio qui (Example #2, procedurale).

    Ciao!

  7. #7
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Prima di apllicare tale modifica bisogna essere certi dell'errore specifico , una volta individuato l'errore allora si passa verso mysqli http://php.net/manual/en/function.mysql-error.php (vediamo se MySQL rivela qualche errore, dato che non funziona l'inserimento dei dati o l'aggiornamento) effettua anche il var_dump delle variabili man mano che li crei.

  8. #8
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    Purtroppo non è quello il problema, ho un'altra tabella con mysqli, che come l'altra funzionava regolarmente, che presenta gli stessi problemi. Grazie comunque per la risposta.

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Hai provato a vedere cosa ritorna mysql_error()?

    Ciao!

  10. #10
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    mi risponde 0:

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Puoi provare facendo un semplice script mysql e vedere mano a mano cosa non funziona facendo debug?

    Una cosa tipo:

    Codice PHP:
    <?php
    define
    ('NICK','vonax');
    define('TABLE', 'test_cancellare');
    define('STR','123a');

    //connessione
    $link = mysql_connect('localhost', NICK, '');
    if (!
    $link) {
    die(
    'Not connected : ' . mysql_error());
    }
    //seleziono db
    $db_selected = mysql_select_db('my_'.NICK, $link);
    if (!
    $db_selected) {
    die (
    'Can\'t use foo : ' . mysql_error());
    }
    //creo una tabella
    $result = mysql_query('CREATE TABLE '.TABLE.' (testo VARCHAR(10))');
    if (!
    $result) {
    die(
    'Invalid query1: ' . mysql_error());
    }
    //inserisco una riga
    $result = mysql_query('INSERT INTO '.TABLE.' (testo) VALUES (\''.STR.'\')');
    if (!
    $result) {
    die(
    'Invalid query2: ' . mysql_error());
    }
    //leggo dalla tabella
    $result = mysql_query('SELECT testo FROM '.TABLE);
    if (!
    $result) {
    die(
    'Invalid query3: ' . mysql_error());
    }

    if (
    mysql_num_rows($result) == 0) {
    echo
    "No rows found, nothing to print so am exiting";
    exit;
    }
    //confronto il valore
    while ($row = mysql_fetch_assoc($result)) {
    echo
    'Lettura da db: '.$row['testo'].((STR == $row['testo'])?' corrisponde':' non corrisponde a '.STR);
    }
    mysql_free_result($result);

    //elimino la tabella creata
    $result = mysql_query('DROP TABLE '.TABLE);
    if (!
    $result) {
    die(
    'Invalid query5: ' . mysql_error());
    }
    mysql_close($link);
    Ciao!

  12. #12
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    il test funziona, questo è il risultato: "Lettura da db: 123a corrisponde". Avevo già fatto una prova di scrittura con una nuova tabella, il problema è che non riesco a scrivere su quella che avevo in uso.
    Grazie per l'attenzione.
    Ciao.

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    La tabella in questione ha 5 colonne? Oppure ha altri campi che non hanno un valore default?

    Ciao!

  14. #14
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    Ha 5 colonne.
    Se può essere utile per la risoluzione del problema, volevo segnalare che inserendo nella insert i valori direttamente, la tabella viene aggiornata, mentre se lo faccio tramite le variabili non accade nulla. Preciso al riguardo che le variabili contengono i valori che le sono stati passati. Grazie ed un saluto.

  15. #15
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Bene, ci stiamo avvicinando al problema!

    Ora prova stampando la variabile $query per vedere cosa ritorna, ad esempio fai:
    Codice PHP:
    echo $query;
    Oppure stampalo su un file con la file_put_contents()
    Codice PHP:
    file_put_contents('test.txt',$query);
    Ciao!

  16. #16
    vonax non è connesso Neofita
    Data registrazione
    25-03-2009
    Messaggi
    8

    Predefinito

    Grazie dell'aiuto, ho risolto, il problema era dovuto al campo data che comprendeva anche l'ora, dato quest'ultimo che non doveva essere inserito. Ho modificato la variabile troncando la parte che non era d'interesse e va bene. Resta tuttavia da capire come mai finora ha funzionato e sopratutto come mai in un altro sito con la stessa tabella funziona. Misteri della vita.....e dell'informatica!!!!
    Un saluto.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •