sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo seleccionar NULL si no hay datos y mostrar los datos si existen?

Si la tabla está vacía (0 filas), el resultado de la consulta =nulo es normalmente.

Y desea mostrar los datos de la fila cuando existe el ID de fila x, debe seleccionar la columna, no select NULL AS column , porque si existen datos de fila, todos los valores de columna son nulos para siempre.

Entonces, cambie el código a SQL, no seleccione nulo, y cuando el resultado de la consulta esté vacío, devuelva un conjunto predeterminado, como este:

function get_data( $id )
{
    $query = "SELECT
            DATE_FORMAT(curdate(),'%d/%m-%Y') AS date_created,
            `name`,
            `address`,
            `status`
        FROM `t_penomoran`
        WHERE `nomor` = '{$id}'";

    $result = $this->db->query($query)->row();

    if ( empty($result) ) {
        $result = (object)[
            'date_created' => date('d/m-Y'),
            'name' => null,
            'address' => null,
            'status' => null,
        ];
    }

    return $result;
}