Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como selecionar NULL se não houver dados e exibir os dados se existirem?


Se a tabela estiver vazia (0 linhas), o resultado da consulta =null é normalmente.

E você deseja mostrar os dados da linha quando o ID da linha x existe, você deve selecionar a coluna, não select NULL AS column , porque se os dados da linha existirem, todos os valores da coluna serão nulos para sempre.

Portanto, altere o código para SQL, não selecione nulo e, quando o resultado da consulta estiver vazio, retorne um conjunto padrão, assim:
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;
}