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
    17,973

    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
    17,973

    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
    17,973

    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
    Data registrazione
    24-04-2011
    Messaggi
    2,088

    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
    17,973

    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
    17,973

    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
    17,973

    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
    17,973

    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
  •