Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    Inserimento data in mysql in tempo reale

    Ciao ragazzi, la metto qui perché non saprei altrimenti dove inserirla.
    Ecco la domanda: tramite query sql sto inserendo dei dati in un database MySQL e questi dati prevedono che ogni record riporti la data e l'ora di inserimento del medesimo.
    Sia chiaro la query non da errori di sintassi, di per se funziona, solo che a volte la data viene inserita 0000-00-00 00:00:00 invece che quella risultante dal vero.
    La query per inserire il tempo usa CURDATE(), prima invece ho provato anche a creare la data con la funzione date() del PHP ma l'effetto non cambia.
    Non so se tutto ciò dipenda dal server mysql che non riesce a creare il record in tempo tra l'elaborazione della data e l'effettivo inserimento prima che arrivi un secondo dato, anche se non credo nemmeno sia questo dato che spesso tra un inserimento e l'altro corre del tempo, più di un minuto, ma l'effetto non cambia.
    Sto utilizzando PHP 5.4.x e MySQL 5.1.x e il tutto con i comandi del PDO.

  2. #2
    Fallo direttamente da mysql..

    imposta un campo di tipo Timestamp su mysql e poi:
    Codice PHP:
    $insertQuery "INSERT INTO tabella (id, name, datetime) VALUES (:id, :name, CURRENT_TIMESTAMP)"
    ciao
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da Al_katraz984 Visualizza il messaggio
    Fallo direttamente da mysql..

    imposta un campo di tipo Timestamp su mysql e poi:
    Codice PHP:
    $insertQuery "INSERT INTO tabella (id, name, datetime) VALUES (:id, :name, CURRENT_TIMESTAMP)"
    ciao
    Ma è ciò che ho fatto!

  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Questa è lo screenshot dei record:
    hardcopy.jpg
    come si nota alcuni orari sono a blank altri no. Non ha molto senso per me, o lo sono tutti o nessuno.

    Hem si vede male perché il forum non mi fa vedere l'immagine alle dimensioni reali... bo!
    Comunque cliccaci su.

  5. #5
    Ma tipo postare il codice PHP?

  6. #6
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    Ma tipo postare il codice PHP?
    E' lo stesso che ha postato alkatraz, quindi...

    Comunque per completezza:
    Codice PHP:
    //  $id contiene l'identificazione dell'utente.
    //  I dati passati al database arrivano via ajax e sono presi così:
    $nickname filter_inputINPUT_POST'nickname'FILTER_CALLBACK, array( 'options' => 'verificaStringa' ));
    $room filter_inputINPUT_POST'stanza'FILTER_CALLBACK, array( 'options' => 'verificaStringa' ));
    $stringa utf8_decodefilter_inputINPUT_POST'stringa'FILTER_CALLBACK, array( 'options' => 'verificaStringa' )));
    $colore filter_inputINPUT_POST'colore'FILTER_CALLBACK, array( 'options' => 'verificaStringa' ));
    $background filter_inputINPUT_POST'background'FILTER_CALLBACK, array( 'options' => 'verificaStringa' ));
    //  Connette al database, è una funzione remota in un altro file.
    $conn PDOConnetti();
             if ( 
    $id ){
                
    //    Inserisce i dati nel database
                
    $handle->closeCursor();
                
    $sql 'INSERT INTO chat ( id_ute, stanza, frase, data_inserimento, colore, background )';
                
    $sql .= 'VALUES ( :id, :room, :frase, CURDATE(), :col, :bkg );';
                
    $handle $conn->prepare$sql );
                
    $handle->bindValue':id', (int)$id['id_ute'], PDO::PARAM_INT );
                    if ( 
    $room === false || $room == ''$room 'generale';
                
    $handle->bindValue':room'$roomPDO::PARAM_STR );
                
    $handle->bindValue':frase'$stringaPDO::PARAM_STR );
                    if ( 
    $colore === false || $colore == ''$colore 'bianco';
                
    $handle->bindValue':col'$colorePDO::PARAM_STR );
                    if ( 
    $background === false || $background == ''$background 'bg-bianco';
                
    $handle->bindValue':bkg'$backgroundPDO::PARAM_STR );
                
    $handle->execute();
            }
    //  Presegue... 
    L'unica differenza è stata che invece di usare CURRENT_TIMESTAMP ho usato CURDATE ed è stato l'errore, dato che CURDATE riporta solo la data, a volte funzionava e a volte no ( e questo è indubbiamente strano e mi ha indotto in errore )
    Ora dato che CURRENT_TIMESTAMP è una funzione alias di NOW ho usato quest'ultima e sembra che stia funzionando.
    Quindi la query è divenuta:
    Codice PHP:
    $sql 'INSERT INTO chat ( id_ute, stanza, frase, data_inserimento, colore, background )';
    $sql .= 'VALUES ( :id, :room, :frase, NOW(), :col, :bkg );'

  7. #7
    CURDATE() restituisce una data senza l' orario, tipo 2014-11-22, tu nel DB hai una colonna di tipo DateTime o stringa?

  8. #8
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    CURDATE() restituisce una data senza l' orario, tipo 2014-11-22, tu nel DB hai una colonna di tipo DateTime o stringa?
    Guarda che ho risolto, leggi tutto ciò che ho scritto ;-)
    Ciao.

  9. #9
    Quote Originariamente inviata da Marcolino's Visualizza il messaggio
    Guarda che ho risolto, leggi tutto ciò che ho scritto ;-)
    Ciao.
    Scusa sono andato di fretta pensavo non avevi risolto. Dai sono stato quasi utile

  10. #10
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Ti voglio bene

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.