Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    8

    Inserire array di NULL in MySql

    Salve,
    ho una array inizializzato a tutti NULL,

    $arr=array
    (
    [0] => NULL
    [1] => NULL
    [2] => NULL
    [3] => NULL
    [4] => NULL
    )

    durante il programma, in modo randomico, il valore di alcune celle viene cambiato. In fine tutto l’array viene inserito in MySql,i cui campi sono dei double con valore di default NULL

    $query = "INSERT INTO tabella (campo1, campo2, campo3, campo4, campo5)
    VALUES ( '$arr[0]', '$arr[1], '$arr[2], '$arr[3]', '$arr[4]')";

    Dopo l’esecuzione della precedente query, i campi i cui valori dell’array sono NULL, risultano essere pari a zero.
    Come posso fare per risolvere il problema?

    Grazie

  2. #2
    Ma qual è il problema? In un campo double possono essere inseriti solo due valori: true (1) e false (0).

    Se vuoi il null cambia campo.

  3. #3
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008

    Re: Inserire array di NULL in MySql

    Originariamente inviato da Maxoon


    $query = "INSERT INTO tabella (campo1, campo2, campo3, campo4, campo5)
    VALUES ( '$arr[0]', '$arr[1], '$arr[2], '$arr[3]', '$arr[4]')";

    metti un controllo per vedere se la query funziona.
    mysql_error();


    Poi stai attento, mancano due "'" nella query

    $query = "INSERT INTO tabella (campo1, campo2, campo3, campo4, campo5)
    VALUES ( '$arr[0]', '$arr[1]' , '$arr[2]' , '$arr[3]', '$arr[4]')";

  4. #4
    Dovresti scrivere espressamente NULL oppure prova a togliere le apici. NULL non e' una stringa ma un (non)valore specifico.

    VALUES ( NULL, NULL, NULL, NULL, NULL )


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

  5. #5
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008
    Originariamente inviato da mircov
    Ma qual è il problema? In un campo double possono essere inseriti solo due valori: true (1) e false (0).

    Se vuoi il null cambia campo.

    scusa ma double (ho controllato) è "campo numerico in virgola mobile con segno"

    e i numeri ci possono stare.. ma se Maxoon non dice che dati sono..

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    8
    La query funziona, perchè i valori vengono inseriti correttamente tranne il NULL

  7. #7
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008
    Originariamente inviato da Maxoon
    La query funziona, perchè i valori vengono inseriti correttamente tranne il NULL

    avevo fatto una cosa simile dove c'erano dei NULL.. ho visto e l'avevo risolta malamente con un bel "" anziche mettere NULL :rollo:


  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    8
    Originariamente inviato da Think
    avevo fatto una cosa simile dove c'erano dei NULL.. ho visto e l'avevo risolta malamente con un bel "" anziche mettere NULL :rollo:

    Ti ringrazio, appena posso accedere alla macchina su cui gira proverò.

  9. #9
    Utente di HTML.it L'avatar di Think
    Registrato dal
    Jun 2005
    Messaggi
    1,008
    Originariamente inviato da Maxoon
    Ti ringrazio, appena posso accedere alla macchina su cui gira proverò.
    non so se funzia. in non avevo usato double.


  10. #10
    Originariamente inviato da Maxoon
    La query funziona, perchè i valori vengono inseriti correttamente tranne il NULL
    Se leggi tutti i post vedrai la risposta al tuo quesito.

    NULL e' un valore al pari di empty e di un numero. Il NULL messo da te in un array e' una stringa. Essendo una stringa il tentativo di inserirla in campo numerico DOUBLE provoca un errore che mysql converte in 0.00 quale sia il default, proprio per non impedire la query e non mettere un valore incongruente nella colonna numerica.

    Se non e' necessario per statistiche (il campo NULL e' come non esistesse) e' meglio lasciare il campo NOT NULL con default 0.00


    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.