MySQL选择所有列,但用某个默认值

时间:2017-09-07 09:20:31

标签: php mysql codeigniter

目前我有这样的PHP代码(CodeIgniter):

$detail = $this->db->query("SELECT * FROM tm_survei WHERE ID_SURVEI=5")->row_array();
foreach($detail as &$val){
    if (!!!$val) $val = '-'; //replace all the empty or null values with "-"
}

它解决了这个问题,但我想知道是否有可能在MySQL查询本身中做到这一点,而不需要PHP预告,例如SELECT IFNULL(*,'-') <original-column-name> FROM tm_survei

1 个答案:

答案 0 :(得分:1)

像你建议的那样,IFNULL非常好,只需使用SELECT和字段列表来显示,而不是*。通常,没关系。

$detail = $this->db->query("SELECT id, title, IFNULL(column_name1, '-'), IFNULL(column_name2, '-') as aliasname FROM tm_survei WHERE ID_SURVEI=5")->row_array();
foreach($detail as &$val){
    $val; 
}