2009-10-16 13 views
31

Aquí está el código de abajo:PHP comprobar 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 />"; } 
} 

Si los valores son NOT NULL sigo teniendo el cuadro uncheked. ¿Estoy haciendo algo mal desde arriba, shoudnt $result['column'] == NULL trabajo?

¿Alguna idea?

+0

¿es realmente su código? tiene un error de codificación y probablemente un archivo error_log –

+0

Estoy simplemente imprimiendo la casilla de verificación. Y se verifica si el valor no es nulo. Parece que dosent parece hacer eso ... Hense siempre va en la primera si la declaración –

+0

el código publicado falta un paréntesis derecho y un paréntesis derecho y me siento mal votado para detectar eso? * eyeroll * –

Respuesta

70

Utilice is_null o === operador.

is_null($result['column']) 

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

Nvm .... Ima twonk ... Lo descubrí: D ... Il marca el tuyo como respondió –

1

creo que desea utilizar

mysql_fetch_assoc($query) 

en lugar de

mysql_fetch_row($query) 

éste vuelve un índice de matriz normal enteros, mientras que el primero devuelve una matriz asociativa, índice por el nombres de campo.

+0

sry im using mysql_fetch_array() ... pongo el equivocado. Editando ahora –

3

Asegúrese de que el valor de la columna es NULL y no realmente una cadena vacía o 0.

+0

tuve resultados en dos lugares ... Es tarde y mi cerebro está volado. Exactamente lo que hice para descubrirlo: D –

+0

Es por eso que la respuesta de Fernyb no es una solución preferible. –

4

Cómo sobre el uso

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

+0

El uso de la función 'empty()' de PHP deja demasiado espacio para la interpretación (http://php.net/manual/en/function.empty.php) y es más una solución específica del lenguaje para un escenario de programación general. Si usa '===', tendrá una solución que puede usar en muchos idiomas. –

-1

A veces, cuando sé que estoy trabajando con los números , Uso esta lógica (if result is not greater than zero):

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

}