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

    inserire valore nullo in un query

    Allora questo è il mio problema:
    ho un db con una tabella in cui i campi int sono tutti di tipo null se non specificato il valore,

    io recupero i campi da un modulo e li inserisco in una query, questo è un esempio:

    $int1 = $_POST['int1'];
    $txt = $_POST['txt'];

    $query1="INSERT INTO nome_tabella (id, txt, int1, int2, int3) VALUES('','$txt',$int1,$int1,$int1)";
    bla bla bla bla bla bla bla bla bla bla bla blabl ala bla

    solo che se l'utente che ha compilato il modulo non inserisce il valore, mi restituisce un errore sui campi int1 int2 int3, allora ho provato a fare una cosa del genere:
    if($_POST['int1']==""){
    $int1=null;
    }else{
    $int1 = $_POST['int1'];
    }
    e poi usando questa query:
    $query2="INSERT INTO nome_tabella (id, txt, int1, int2, int3) VALUES('','$txt','$int1','$int1','$int1')";

    mi salva i valori int come 0 invece che come null,

    mentre se riuso la query1 mi restituisce lo stesso errore.

    Non so proprio dove mettere le mani, qualcuno ha un suggerimento?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Fai così

    Codice PHP:
    if($_POST['int1']==""){
    $int1='null';
    }else{
    $int1 "'".$_POST['int1']."'";
    }
    //e togli gli apici dalla query
    $query2="INSERT INTO nome_tabella (id, txt, int1, int2, int3) VALUES('','$txt',$int1,'$int1','$int1')"

  3. #3
    Ho più o meno lo stesso problema:

    if ($valore == '') $valore = 'NULL';
    $query_mod = 'UPDATE Tabella SET (campo = ' . $valore . ') WHERE (id = \'' . $id . '\')';
    if (!(mysql_query($query_mod, $db)))
    echo 'query_mod ERRATA: ' . $query_mod . '
    ';

    Il risultato è:

    query_mod ERRATA: UPDATE Tabella SET (campo = NULL) WHERE (id = '5')

    E OVVIAMENTE NON VIENE ATTRIBUITO NEL RECORD AL CAMPO "CAMPO" IL VALORE NULL
    Prima o poi anch'io vi insegnerò qualcosa

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.