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

    mysql php Incorrect integer value

    Ciao a tutti ho un problema nell'inserimento nella query

    codice:
    $query = "INSERT INTO md_anagrafica (RAGIONE_SOCIALE,
    NOME, INDIRIZZO, N_CIVICO, CITTA, PROV, CAP, COD_FISCALE, 
    PIVA, LEGALE_RAPP_NOME, LEGALE_RAPP_COGNOME, REFERENTE_CONTR_NOME,
    REFERENTE_CONTR_COGNOME, TEL,CELL)		
    		
    VALUES ('". $_SESSION['ragioneSociale']."', '".$_SESSION['nome']."',
    '".$_SESSION['indirizzo']."', '".$_SESSION['nCivico']."','".$_SESSION['citta']."',
    '".$_SESSION['prov']."','".$_SESSION['cap']."','".$_SESSION['codFiscale']."',
    '".$_SESSION['pIva']."','".$_SESSION['legaleRappNome']."',
    '".$_SESSION['legaleRappCognome']."','".$_SESSION['referenteContrNome']."',
    '".$_SESSION['referenteContrCognome']."','".$_SESSION['tel']."',
    '".$_SESSION['cell']."',)";
    mi sembrava tutto giusto fino a quando non ho lasciato nullo il campo cell, mi restituisce questo errore Incorrect integer value: '' for column 'cell' at row 1, nel db ho messo null pero non me lo fa inserire
    grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Perchè utilizzare un intero per il numero di cellulare?Io userei un varchar(13) dove un numero può essere di tipo +391234567890.In che senso hai lasciato NULL?non l'hai inserito proprio?Il valore di default qual è?Hai usato not null?

    esempio:

    codice:
    create table Intero(
    a int;
    );

    se faccio insert into Intero values('NULL');
    ad 'a' viene messo a zero se invece faccio
    insert into Intero values(NULL) senza apici mi mette il valore NULL.Puoi postare i tipi di dato usati?Saluti.

  3. #3
    ho come default null , e nel campo se lascio vuoto mi da questo problema quindi mi consigli di usare varchar?
    sta di fatto che se per esempio metto la partita iva con default null e poi non inserisco niente mi da sempre il problema

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Ecco è più chiaro.

    codice:
    INSERT INTO md_anagrafica (RAGIONE_SOCIALE,
    NOME, INDIRIZZO, N_CIVICO, CITTA, PROV, CAP, COD_FISCALE, 
    PIVA, LEGALE_RAPP_NOME, LEGALE_RAPP_COGNOME, REFERENTE_CONTR_NOME,
    REFERENTE_CONTR_COGNOME, TEL,CELL)		
    		
    VALUES ('". $_SESSION['ragioneSociale']."', '".$_SESSION['nome']."',
    '".$_SESSION['indirizzo']."', '".$_SESSION['nCivico']."','".$_SESSION['citta']."',
    '".$_SESSION['prov']."','".$_SESSION['cap']."','".$_SESSION['codFiscale']."',
    '".$_SESSION['pIva']."','".$_SESSION['legaleRappNome']."',
    '".$_SESSION['legaleRappCognome']."','".$_SESSION['referenteContrNome']."',
    '".$_SESSION['referenteContrCognome']."','".$_SESSION['tel']."',
    '".$_SESSION['cell']."',)";
    nel caso precedente se non inserisci il valore del campo ti dà errore perchè la lista dei valori non coincide co la lista degli attributi,quindi
    codice:
    INSERT INTO md_anagrafica (RAGIONE_SOCIALE,
    NOME, INDIRIZZO, N_CIVICO, CITTA, PROV, CAP, COD_FISCALE, 
    PIVA, LEGALE_RAPP_NOME, LEGALE_RAPP_COGNOME, REFERENTE_CONTR_NOME,
    REFERENTE_CONTR_COGNOME, TEL,CELL)	VALUES ('RAGIONE_SOCIALE','NOME','INDIRIZZO','N_CIVICO','CITTA','PROV','CAP','COD_FISCALE','PIVA','LEGALE_RAPP_NOME', 'LEGALE_RAPP_COGNOME','REFERENTE_CONTR_NOME',
    'REFERENTE_CONTR_COGNOME',NULL,'CELL');
    così dovrebbe andare.Ovviamente il resto dei campi metti dei valori significativi.Inoltre ti consiglio di usre dei varcahar.Puoi inviare il create table?Così vedo meglio?Grazie.

  5. #5
    CREATE TABLE IF NOT EXISTS `md_anagrafica` (
    `ID` int(11) NOT NULL auto_increment,
    `RAGIONE_SOCIALE` varchar(50) NOT NULL,
    `INDIRIZZO` varchar(50) NOT NULL,
    `N_CIVICO` varchar(10) NOT NULL,
    `CITTA` varchar(20) NOT NULL,
    `PROV` text NOT NULL,
    `CAP` int(5) NOT NULL,
    `TOPONOMIA` varchar(15) default NULL,
    `COD_FISCALE` varchar(16) default NULL,
    `PIVA` int(11) default NULL,
    `LEGALE_RAPP_NOME` varchar(20) NOT NULL,
    `LEGALE_RAPP_COGNOME` varchar(20) NOT NULL,
    `REFERENTE_CONTR_NOME` varchar(20) NOT NULL,
    `REFERENTE_CONTR_COGNOME` varchar(20) NOT NULL,
    `TEL` int(25) default NULL,
    `CELL` int(25) default NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=armscii8 AUTO_INCREMENT=7 ;

    secondo te la risolvo se metto tutti gli int in varcahar ? cosi inserisco proprio null

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Secondo me si.Hai provato a fare quello che ti ho scritto?Per poter sfruttare il "default null" nella lista degli attributi non deve esserci l'attributo che tu vuoi sia null e ovviamente non deve esserci il suo valore nella lista dei valori.Saluti

  7. #7
    Grazie and77 ho messo in varchar e inserisco direttamente la scritta "NULL"

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.