errore TINYINT in compilazione form

ciao, ho un errore strano che fino a poco fa non avevo e non riesco a capire come metterlo a posto.

ho un campo TINYINT(4) in un db. Quando inserisco un valore nel form mi da questo errore:

Incorrect integer value

le ho provate tutte, anche a cambiare il tipo di campo, ma non c'è nulla da fare. io inserisco semplicemente un numero....

inviato 8 anni fa
gabar-el
X 0 X

Modifica lo script che stai usando in modo che ti mostri la query di inserimento, esattamente come viene inviata a MySQL, e poi riportala in un nuovo post.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

scusa non ho capito....  :dunno:

cosa intendi per modificarla così come viene inviata a mysql? posto semplicemente la query?

risposto 8 anni fa
gabar-el
X 0 X

si, posta la query, con tutti i dati inseriti, esattamente come viene inviata a MySQL

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

scusa, ormai sono fuso e non ho capito se volevi una struttura di tabella:

CREATE TABLE `circolari` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `titolo` varchar(200) collate latin1_general_ci NOT NULL, `descrizione` text collate latin1_general_ci NOT NULL, `allegato` text collate latin1_general_ci, `allegato2` text collate latin1_general_ci, `allegato3` text collate latin1_general_ci, `data_inserimento` datetime default NULL, `tema` varchar(45) collate latin1_general_ci default NULL, `data_corso` varchar(10) collate latin1_general_ci default NULL, `numero_partecipanti` varchar(10) collate latin1_general_ci default NULL, `crediti` varchar(10) collate latin1_general_ci default NULL, `quota_iscrizione` varchar(10) collate latin1_general_ci default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci

ho provato con mysql administrator a modificare i campi numero_partecipanti, crediti e quota_iscrizione in TINYINT ma ricevo un errore di incorrect integer value. stessa cosa se modifico il campo data_corso in DATE....

grazie

risposto 8 anni fa
gabar-el
X 0 X

non volevo la CREATE TABLE ma la INSERT che ti da problemi

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

è sempre quella, che da una parte all'altra mi da problemi diversi....

INSERT INTO circolari (titolo, descrizione, allegato, allegato2, allegato3, tema, data_corso, numero_partecipanti, crediti, quota_iscrizione, data_inserimento) VALUES ('$titolo', '$descrizione', '$allegato', '$allegato2', '$allegato3', '$tema', '$data_corso', '$numero_partecipanti', '$crediti', '$quota_iscrizione', NOW())

thanks

risposto 8 anni fa
gabar-el
X 0 X

Ciao,

mettendo gli apici sui dati in inserimento questi vengono considerati come stringhe... e sicuramente un tinyint è diverso da una stringa.

Cmq per tua praticità ti consiglio di stamparti l'effettiva query con i dati che cerchi di inserire così all'inizio saprai sempre dove sbagli.

Buona giornata

 :bye:

Zeta

risposto 8 anni fa
zeta80
X 0 X

confermo, le versioni più recenti di MySQL, se impostate in "strict mode", non effettuano più certe conversioni automatiche, come ad esempio i cambi di tipo (da stringa ad intero) ed i troncamenti.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ok, sono riuscito a risolvere un errore nel db (avevo una row che dava problemi, così l'ho eliminata), rifacendo una row e mettendo a punto i vostri consiglli, rileggendomi qualcosina circa apici e stringhe ora il db è a posto....

grazie!!! O0

risposto 8 anni fa
gabar-el
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda