2009-10-16 8 views
31

Ecco il codice qui sotto:PHP controllare per NULL

$query = mysql_query("SELECT * FROM tablex"); 

if ($result = mysql_fetch_array($query)){ 

    if ($result['column'] == NULL) { print "<input type='checkbox' />"; } 
    else { print "<input type='checkbox' checked />"; } 
} 

Se i valori sono NOT NULL ho ancora ottenere la casella uncheked. Sto facendo qualcosa di sbagliato da sopra, shoudnt $result['column'] == NULL lavoro?

Qualsiasi idea?

+0

è davvero questo il tuo codice? hai un errore di codifica e probabilmente un file error_log –

+0

Im semplicemente stampando la casella di controllo. E viene controllato se il valore non è nullo. Sembra che lo faccia succedere .. Hense va sempre nella prima se statment –

+0

il codice postato manca un paren destro e una parentesi graffa destra e io vengo giù-votato per avvistare quello? * eyeroll * –

risposta

70

Utilizzare l'operatore is_null o ===.

is_null($result['column']) 

$result['column'] === NULL 
+3

Nvm .... Ima twonk .. Calcolato: D ... Il tuo nome come risposta –

1

Penso che si desidera utilizzare

mysql_fetch_assoc($query) 

piuttosto che

mysql_fetch_row($query) 

Quest'ultima restituisce un normale indice di array numeri interi, mentre il primo restituisce un array associativo, indice dal nomi dei campi.

+0

sry im usando mysql_fetch_array() ... metti quello sbagliato in .. Modifica ora –

3

Assicurarsi che il valore della colonna è davvero NULL e non una stringa vuota o 0.

+0

ho avuto risultati in due posti ... È tardi e il mio cervello è saltato in aria .. Esattamente quello che ho fatto per capirlo: D –

+0

Ecco perché la risposta di fernyb non è una soluzione preferibile. –

4

Come sull'utilizzo

if (empty($result['column']))

+0

L'uso della funzione 'empty()' di PHP lascia troppo spazio per l'interpretazione (http://php.net/manual/en/function.empty.php) ed è più una soluzione specifica per una lingua in uno scenario di programmazione generale. Se usa '===', avrà una soluzione che può usare in molte lingue. –

-1

A volte, quando so che sto lavorando con i numeri , Io uso questa logica (if result is not greater than zero):

if (!$result['column']>0){ 

} 
Problemi correlati