query fetch_assoc example mysql activerecord codeigniter null

fetch_assoc - Consultando MySQL con CodeIgniter, seleccionando filas donde el campo es NULL



query codeigniter example (8)

Estoy usando la clase Active Record de CodeIgniter para consultar la base de datos MySQL. Necesito seleccionar las filas en una tabla donde un campo no está establecido en NULL:

$this->db->where(''archived !='', ''NULL''); $q = $this->db->get(''projects'');

Eso solo devuelve esta consulta:

SELECT * FROM projects WHERE archived != ''NULL'';

El campo archived es un campo DATE .

¿Hay una mejor manera de resolver esto? Sé que puedo escribir la consulta solo, pero quiero seguir con el registro activo a través de mi código.


Codeigniter genera una consulta "IS NULL" simplemente dejando la llamada sin parámetros:

$this->db->where(''column'');

La consulta generada es:

WHERE `column` IS NULL


El registro activo definitivamente tiene algunos caprichos. Cuando pase una matriz a la función $this->db->where() generará un IS NULL. Por ejemplo:

$this->db->where(array(''archived'' => NULL));

produce

WHERE `archived` IS NULL

La peculiaridad es que no hay equivalente para el negativo IS NOT NULL . Sin embargo, hay una manera de hacerlo que produce el resultado correcto y aún escapa a la declaración:

$this->db->where(''archived IS NOT NULL'');

produce

WHERE `archived` IS NOT NULL


Mucho mejor para usar siguiente para no es nulo

donde (''archivado IS NOT NULL'', nulo);

Porque es nulo

donde (''archivado'', nulo);


Null no debe configurarse en cadena ...

$this->db->where(''archived IS NOT'', null);

Funciona correctamente cuando null no está envuelto en comillas.


Una manera de marcar cualquiera de las columnas es nula o no es

$this->db->where(''archived => TRUE); $q = $this->db->get(''projects'');

en php si la columna tiene datos, se puede representar como Verdadero, de lo contrario, es Falso. Para usar la comparación múltiple en el comando where y para verificar si los datos de la columna no son nulos, ¿cómo?

aquí está el ejemplo completo de cómo soy filtro de columnas en cláusula where (Codeignitor). El último muestra Compresión no nula

$where = array(''somebit'' => ''1'', ''status'' => ''Published'', ''archived '' => TRUE ); $this->db->where($where);


Y solo para darle otra opción, puede usar NOT ISNULL(archived) como su filtro WHERE.


CodeIgniter 3

Solamente:

$this->db->where(''archived IS NOT NULL'');

La consulta generada es:

WHERE archived IS NOT NULL;

$ this-> db-> where (''archivado IS NOT NULL'', nulo , falso ); << No es necesario

Inverso:

$this->db->where(''archived'');

La consulta generada es:

WHERE archived IS NULL;


where(''archived IS NOT NULL'', null, false)