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

    [php / mysql] Salvare variabile NULL nel database

    Salve a tutti!
    Ho fatto un parser per prendere dati da un file CSV creato con Excel e importarli nel database.
    I dati sono separati da ";".
    Non tutti i campi hanno un dato quindi posso trovarmi una riga del genere:

    "MARIO ROSSI;01/01/2007;5;;;10,00;;3"

    Con explode mi divido la stringa creando un array e poi salvo i dati nel database.
    Fin qui nessun problema.
    Quando però c'è un campo vuoto, vorrei impostarlo a NULL in modo che in mysql mi venga fuori proprio NULL come accadrebbe se non inserissi proprio il valore per quel campo nella query.
    E' possibile?

    Ho provato anche una cosa del tipo:
    Codice PHP:
    if (strlen($arraydati[3]) < 1)
    $arraydati[3] = NULL
    oppure
    Codice PHP:
    if ($arraydati[3] == "")
    $arraydati[3] = NULL
    Ma andando poi a salvare $arraydati[3] nel database mi mette 0 invece di NULL

    Ovviamente nel database il campo ed il valore predefinito sono impostati come NULL

    Come posso risolvere?
    Grazie!!
    Nemesis

  2. #2
    INSERT tabella SET campo=NULL

    ciao

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    if ($arraydati[3] == "")
    $arraydati[3] = "NULL";
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Grazie bubu77, ma in questo modo dovrei creare la stringa della query dinamicamente che è proprio quello che volevo evitare visto che avevo già tutto pronto ed è sorto solo questo imprevisto per una piccola modifica che ho dovuto apportare.

    La soluzione di dottwatson è ottima per quello che devo fare. Non avrei mai pensato di dover mettere le virgolette come fosse una stringa. In C ero abituato a usare NULL come un valore e quindi lo usavo senza virgolette come un numero.

    In ogni caso grazie mille a entrambi!
    Nemesis

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.