Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [MySQL] Perchè queste query non inseriscono in modo corretto?

    Ciau a tutti, ho un ciclo FOR all'interno del mio codice che genera un numero x di query che poi invio al database. Queste query prevedono una tabella con 2 campi che ho settato a TIMESTAMP sul database.
    Vi fò vedere le query generate:

    codice:
    INSERT INTO `sessioni_attacco` ( `idplayer` , `idluogo` , `idattaccante` , 
       `prossimoattacco` , `dado` , `stato` , `inizio` )
       VALUES ( '5', '4', '15', 1130142819 , '16', 'PLAY',1130142639)
    
    INSERT INTO `sessioni_attacco` ( `idplayer` , `idluogo` , `idattaccante` , 
       `prossimoattacco` , `dado` , `stato` , `inizio` )
       VALUES ( '2', '4', '15', 1130142999 , '12', 'PLAY',1130142639)
    
    INSERT INTO `sessioni_attacco` ( `idplayer` , `idluogo` , `idattaccante` , 
       `prossimoattacco` , `dado` , `stato` , `inizio` )
       VALUES ( '15', '4', '15', 1130143179 , '10', 'PLAY',1130142639)
    
    INSERT INTO `sessioni_attacco` ( `idplayer` , `idluogo` , `idattaccante` , 
       `prossimoattacco` , `dado` , `stato` , `inizio` )
       VALUES ( '3', '4', '15', 1130143359 , '5', 'PLAY',1130142639)
    
    INSERT INTO `sessioni_attacco` ( `idplayer` , `idluogo` , `idattaccante` , 
       `prossimoattacco` , `dado` , `stato` , `inizio` )
       VALUES ( '4', '4', '15', 1130143539 , '2', 'PLAY',1130142639)
    potete vedere da voi che il campo inizio è sempre lo stesso timestamp dato che è un orario fisso, gli altri invece differiscono sempre per 3 minuti l'uno dall'altro (ho verificato la loro correttezza con uno scriptino che mi visualizza la conversione tra TIMESTAMP e DATE.
    Il problema è che una volta arrivate al database, queste query generano timestamp assurdi, con date addirittura del 2038, vi metto in allegato lo screenshoot del db...

    ...ho anche provato a racchiudere i valori dei timestamp tra gli apici ma in quel caso il campo ri riempi di zeri. Dove sbaglio?
    Immagini allegate Immagini allegate
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  2. #2
    http://dev.mysql.com/doc/refman/5.0/en/datetime.html

    Vedi se trovi la soluzione ai tuoi problemi. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    il timestamp di mysql non è il timestamp di php (che poi è quello *nix).

    usa un campo int.

    ciao

  4. #4
    Originariamente inviato da gianiaz
    il timestamp di mysql non è il timestamp di php (che poi è quello *nix).

    usa un campo int.

    ciao
    eh ci avevo pensato, in effetti quando Mysql imposta il timestamp, gli da comunque una lunghezza di caratteri, quindi... beh comunque grazie a tutti e due. Aggirerò così!
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non è questione di lunghezza di caratteri, per mysql il timestamp è una stringa cosi formata:

    codice:
    20051024111134
    AAAAMMGGHHMMSS
    mentre per *nix il timestamp sono i numeri di secondi passati dalla mezzanotte del 1 gennaio 1970.

    ciao

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.