Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner NULL s'il n'y a pas de données et afficher les données si elles existent ?

Si la table est vide (0 lignes), le résultat de la requête =null est normalement.

Et vous voulez afficher les données de ligne lorsque l'ID de ligne x existe, vous devez sélectionner la colonne, et non select NULL AS column , car si les données de ligne existent, toutes les valeurs de colonne sont nulles pour toujours.

Donc, changez le code en SQL, ne sélectionnez pas null, et lorsque le résultat de la requête est vide, renvoyez un ensemble par défaut, comme ceci :

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;
}