Visualizzazione risultati 1 fino 13 di 13

Discussione: Non inserisce i dati nel db

  1. #1
    Guest

    Predefinito Non inserisce i dati nel db

    Il codice sembra a posto, ma il db rimane vuoto. In pratica, quando si clicca su una pag. del mio sito, nel db devono entrare i dati che ci sono in INSERT INTO

    Codice PHP:
    ...
    $mysqli = new mysqli("localhost", "root", "pwd", "gruppoalveo");
    $data_localeS = time(); //Stampa nel db la data numerica es. 1360585588
    //Nota che la "i" non è accentata, così nel db non stampa caratteri strani. Non deve stampare a video
    $giorno=array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato');
    $mese=array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
    $dataGmtS=$giorno[date('w')].' '.date('d').' '.$mese[date('m')-1].' '.date('Y - H:i:s \G\M\T P');
    $ip=$_SERVER['REMOTE_ADDR'];
    $url = $_SERVER['PHP_SELF'];
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$title', '$url', '$ip' 1)");
    }
    else {
    $old = $esiste->fetch_array(MYSQLI_ASSOC);
    $visite = $old['visite'] + 1;
    $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$title', visite='$visite', ip='$ip' WHERE url='$url'");
    }
    }
    }
    }
    ...
    Ultima modifica di gruppoalveo : 03-05-2014 alle ore 16.11.43 Motivo: Modifica

  2. #2
    Guest

    Predefinito

    Non sapendo benissimo programmare in PHP ad oggetti, ho provato a intuire quello che le varie righe significassero. Ma: non fa proprio niente oppure esegue quello che hai scritto nell' else alla fine? Ti da qualche errore PHP? Fammi sapere. Ciao!

    EDIT:
    poi: hai provato
    Codice:
    INSERT INTO visitate(data_localeS,dataGmtS,pagina,url,ip) VALUES ('$data_localeS', '$dataGmtS', '$title', '$url', '$ip' 1)
    nelle parentesi subito dopo visitate devi inserire i nomi delle colonne (in ordine dalla prima all' ultima) in cui verranno salvati i dati. Io non so se le ho scritte corrette, perchè non ho potuto vedere la query che hai eseguito per creare la tabella, perciò se ci sono degli errori correggili. Ciao!
    Ultima modifica di altermetax : 03-05-2014 alle ore 16.25.51 Motivo: Aggiunta di informazioni

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da altermetax Visualizza messaggio
    Non sapendo benissimo programmare in PHP ad oggetti, ho provato a intuire quello che le varie righe significassero. Ma: non fa proprio niente oppure esegue quello che hai scritto nell' else alla fine? Ti da qualche errore PHP? Fammi sapere. Ciao!
    Non da errori e non inserisce e non aggiorna

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da altermetax Visualizza messaggio
    EDIT:
    poi: hai provato
    Codice:
    INSERT INTO visitate(data_localeS,dataGmtS,pagina,url,ip) VALUES ('$data_localeS', '$dataGmtS', '$title', '$url', '$ip' 1)
    nelle parentesi subito dopo visitate devi inserire i nomi delle colonne (in ordine dalla prima all' ultima) in cui verranno salvati i dati. Io non so se le ho scritte corrette, perchè non ho potuto vedere la query che hai eseguito per creare la tabella, perciò se ci sono degli errori correggili. Ciao!
    Hai provato anche questo?

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da altermetax Visualizza messaggio
    Hai provato anche questo?
    Questo è l'ordine

    Codice PHP:
    ..
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip' 1)");
    Ultima modifica di gruppoalveo : 03-05-2014 alle ore 16.56.25

  6. #6
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Manca una virgola nell'insert, dopo '$ip'

    Codice PHP:
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip' 1)");
    Codice PHP:
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip', 1)");
    L'insert verrà fatta, se siano corrette le posizioni, dovrai verificarlo dopo, perché io in questa query vedo 7 campi, nello screen 6.

    Ti suggerisco di specificare le colonne, qual'ora dovresti spostarne l'ordine, almeno non devi rimettere mano allo script.
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da LastWings Visualizza messaggio
    Manca una virgola nell'insert, dopo '$ip'

    Codice PHP:
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip' 1)");
    Codice PHP:
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip', 1)");
    L'insert verrà fatta, se siano corrette le posizioni, dovrai verificarlo dopo, perché io in questa query vedo 7 campi, nello screen 6.

    Ti suggerisco di specificare le colonne, qual'ora dovresti spostarne l'ordine, almeno non devi rimettere mano allo script.
    Lo screen e questo sono giusti $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip', 1)");
    allora quell' 1 cos'è?

  8. #8
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Beh se non sai te quale campo debba riempire l'1 ? :D

    Stando allo screen:

    data_localeS : $data_localeS
    dataGmtS: $dataGmtS
    pagina: $pagina
    url: $url
    visite: $visite
    ip: $ip

    e l'1 che hai nella query?
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da LastWings Visualizza messaggio
    Beh se non sai te quale campo debba riempire l'1 ? :D

    Stando allo screen:

    data_localeS : $data_localeS
    dataGmtS: $dataGmtS
    pagina: $pagina
    url: $url
    visite: $visite
    ip: $ip

    e l'1 che hai nella query?
    Appunto a che serve quel' 1?

    Ora è così, non inserisce

    Codice PHP:
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    }
    else {
    $old = $esiste->fetch_array(MYSQLI_ASSOC);
    $visite = $old['visite'] + 1;
    $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$pagina', url='$url', visite='$visite' WHERE ip='$ip'");
    }
    }
    }
    }

  10. #10
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Citazione Originalmente inviato da gruppoalveo Visualizza messaggio
    Appunto a che serve quel' 1?
    Ah non chiederlo a me :D era nella query che hai scritto te.

    Posso solo immaginare che sia un refuso, di quando non avevi ancora messo la variabile $visite; vedasi query nel post #1 e query nel post #5


    Citazione Originalmente inviato da gruppoalveo Visualizza messaggio
    Ora è così, non inserisce
    Provo a chiederti, non è che oltre quei campi, prima di data_localeS, hai un campo id con chiave primaria ed autoincrement?

    Poi non so, fa tanto schifo specificare i campi?
    Codice PHP:
    $mysqli->query ("INSERT INTO visitate(data_localeS, dataGmtS, pagina, url, visite, ip) VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    oppure

    Codice PHP:

    $visite
    = 1;
    $mysqli->query("INSERT INTO visitate SET
    data_localeS= "
    .$data_localeS.",
    dataGmtS= '"
    .$dataGmtS."',
    pagina= '"
    .$pagina."',
    url= '"
    .$url."',
    visite= "
    .$visite.",
    ip= '"
    .$ip."'
    "
    );
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da LastWings Visualizza messaggio
    Ah non chiederlo a me :D era nella query che hai scritto te.

    Posso solo immaginare che sia un refuso, di quando non avevi ancora messo la variabile $visite; vedasi query nel post #1 e query nel post #5



    Provo a chiederti, non è che oltre quei campi, prima di data_localeS, hai un campo id con chiave primaria ed autoincrement?

    Poi non so, fa tanto schifo specificare i campi?
    Codice PHP:
    $mysqli->query ("INSERT INTO visitate(data_localeS, dataGmtS, pagina, url, visite, ip) VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    oppure

    Codice PHP:

    $visite
    = 1;
    $mysqli->query("INSERT INTO visitate SET
    data_localeS= "
    .$data_localeS.",
    dataGmtS= '"
    .$dataGmtS."',
    pagina= '"
    .$pagina."',
    url= '"
    .$url."',
    visite= "
    .$visite.",
    ip= '"
    .$ip."'
    "
    );
    Così funziona adesso, però inserisce una vista in meno, es: se clicc o su una nuova pagina visualizza "0 volte", invece dovrebbe visualizzare "1 volta"

    Codice PHP:
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $mysqli->query ("INSERT INTO visitate VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    }
    else {
    $old = $esiste->fetch_array(MYSQLI_ASSOC);
    $visite = $old['visite'] + 1;
    $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$pagina', visite='$visite', ip='$ip' WHERE url='$url'");
    }
    }
    }
    }

  12. #12
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Perché la prima volta volta $visite non ha nessun valore; devi valorizzarlo a 1, prima di fare l'insert.
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da LastWings Visualizza messaggio
    Perché la prima volta volta $visite non ha nessun valore; devi valorizzarlo a 1, prima di fare l'insert.
    Ok, così funziona

    Codice PHP:
    ..
    $visite = 1;
    $mysqli->query ("INSERT INTO visitate(data_localeS, dataGmtS, pagina, url, visite, ip)
    VALUES ('
    $data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    }
    ...

Regole di scrittura

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