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

    [MySQL] semplice datetime insert

    ciao tutti,
    sto per chiedere una cosa piuttosto banale, ma che data la mia scarsissima conoscenza di sql mi sta facendo perdere non poco tempo XD

    devo inserire una riga con quattro campi in una tabella da php ecco il codice:

    Codice PHP:
    mysql_query("INSERT INTO nomeTabella (CodArticolo,Qta,Giorno,Ora)
    VALUES ('"
    .$key."','".$qta."',?,?") or die ("errore nella query"); 

    $key e $qta sono due variabili che vengono riempite da un form, mentre al posto dei punti interrogativi vanno ovviamente la data odierna e l'ora attuale (sono due datetime). ne ho provate diverse (now(), CURRENT_DATE, CURRENT_TIME) e ho anche provato a leggermi qualcosa online, ma ci deve essere qualcosa che mi sfugge a monte perchè non riesco a venirne a capo anche se che è una stupidaggine...

    l'errore che ricevo è il classico:
    Si è verificato un errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


    grazie mille!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    Ciao,
    Quote Originariamente inviata da btb84 Visualizza il messaggio
    al posto dei punti interrogativi vanno ovviamente la data odierna e l'ora attuale (sono due datetime)
    un data si esprime in data e ora, perchè fare due campi distinti? Non ha molto senso, comunque now() deve funzionare!
    Forse il problema non è lì; come hai impostato il campo Qta? se è un intero non puoi salvarlo come una stringa, stessa cosa per codice articolo.

    Altro consiglio, se devi salvare sempre il momento in cui viene effettuata l'operazione, imposta la cosa al livello di database. In questo modo non dovrai gestirlo tu da codice.
    In ogni caso è bene prima provare prima la query direttamente nel db...

  3. #3
    ok grazie intanto per il consiglio. il db non l'ho progettato io, questo ho e questo mi tengo anche se condivido l'obiezione sulla data, anche secondo me non ha molto senso ma per ora è così.

    ho provato direttamente nel db questa query a scanso di equivoci:

    Codice PHP:
    INSERT INTO venduto (CodArticolo,Qta,Giorno,OraVALUES (123456,1,now(),now()) 
    quindi senza variabili ma con il dato "vivo" inserito direttamente nella query e funziona ovviamente, ma se eseguo dalla pagina php:

    Codice PHP:
    mysql_query("INSERT INTO venduto (CodArticolo,Qta,Giorno,Ora) VALUES (123456,1,now(),now())") or die ("errore nella query"); 

    ottengo il solito:
    Si è verificato un errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    non so... chiedo lumi a chi gestisce il db?

  4. #4
    ho risolto: c'era un problema a monte con l'import di un header con alcune funzioni, purtroppo avendo letto errore sql (e sapendone molto poche di sql) avevo pensato che il problema fosse nella query che avevo modificato. comunque grazie per i chiarimenti e per i consigli, adesso se non altro ho le idee più chiare su alcune cose!

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.