Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106

    Problema inserimento valore NULL in mysql

    Ciao a tutti,
    ho un problema con l'inserimento di dati in un database mysql.

    Questo è il codice PHP
    Codice PHP:
    $sql "INSERT INTO alimenti (id_categoria, alimento, parte_edibile, proteine, grassi, carboidrati, calorie) VALUES ('$id_categoria' , '$alimento' , '$parte_edibile' , '$proteine' , '$grassi' , '$carboidrati' , '$calorie')"
    Quando eseguo la query, se la variabile $parte_edibile è impostata a NULL cioè $parte_edibile=NULL oppure anche $parte_edibile='NULL' nel database invece di NULL viene inserito 0.

    Il campo parte_edibile nella tabella alimenti è di tipo FLOAT.

    Dove sbaglio?

    Grazie

  2. #2
    un campo per poter accettare ed essere NULL deve essere dichiarato NULL nella tabella.

    NULL e' come dire NON ESISTE. e non vuol dire valore assente. Evidentemente il tuo campo e' NOT NULL con default 0. Eviterei comunque di usare il FLOAT se ti serve avere un paio di decimali.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Originariamente inviato da piero.mac
    un campo per poter accettare ed essere NULL deve essere dichiarato NULL nella tabella.
    Infatti il campo nel database l'ho definito NULL

  4. #4
    Originariamente inviato da samu81
    Infatti il campo nel database l'ho definito NULL
    allora l'errore e' nel definire NULL in una variabile caricata come stringa.

    .... VALUES ('$id_categoria' , '$alimento' , NULL oppure '$parte_edibile' , .....

    NULL senza apici altrimenti diventa una stringa ed essendo il campo numerico genera un errore e il cast lo forza a 0. Ma devi avere ben chiaro a che serve il valore NULL in un database.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Infatti l'errore è proprio quello...

    ma se io definisco la variabile così

    $parte_edibile=NULL

    non funziona lo stesso, inserisce sempre 0.

  6. #6
    Originariamente inviato da samu81
    Infatti l'errore è proprio quello...

    ma se io definisco la variabile così

    $parte_edibile=NULL

    non funziona lo stesso, inserisce sempre 0.
    metti NULL e non la variabile ... credevo si capisse bene

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.