Php 如果提供的数据在mySQL中不为空,则更新字段

Php 如果提供的数据在mySQL中不为空,则更新字段,php,mysql,codeigniter,Php,Mysql,Codeigniter,我只想更新我的密码字段,前提是输入中的密码不为NULL,但同时“username”可以在表中更新 这是我当前的PHP代码: UPDATE `my_tbl` SET `username`= '".$dataArray['username']."', `password` = IF( IS NULL('".$dataArray['password']."'), `password`, '".$dataArray['password']."') WHERE `id` = ".$dataA

我只想更新我的密码字段,前提是输入中的密码不为NULL,但同时“username”可以在表中更新

这是我当前的PHP代码:

UPDATE `my_tbl` 
SET `username`= '".$dataArray['username']."', `password` = IF( IS NULL('".$dataArray['password']."'),  
   `password`, '".$dataArray['password']."') 
WHERE `id` = ".$dataArray['id']

使用串联来解决这个问题

$sql= UPDATE `my_tbl` SET `username`= '".$dataArray['username']."', 
                    `password` = IF( IS NULL('".$dataArray['password']."'),  `password`, '".$dataArray['password']."')
                    WHERE `id` = ".$dataArray['id'];
将此查询更改为

 $condition="";
    if($dataArray['password'] != ""){
       $condition=" , `password` = '".$dataArray['password']."'";
    }

     $sql= "UPDATE `my_tbl` SET `username`= '".$dataArray['username'] ."' ".$condition."
                        WHERE `id` = ".$dataArray['id'];
                        echo $sql;

使用串联来解决这个问题

$sql= UPDATE `my_tbl` SET `username`= '".$dataArray['username']."', 
                    `password` = IF( IS NULL('".$dataArray['password']."'),  `password`, '".$dataArray['password']."')
                    WHERE `id` = ".$dataArray['id'];
将此查询更改为

 $condition="";
    if($dataArray['password'] != ""){
       $condition=" , `password` = '".$dataArray['password']."'";
    }

     $sql= "UPDATE `my_tbl` SET `username`= '".$dataArray['username'] ."' ".$condition."
                        WHERE `id` = ".$dataArray['id'];
                        echo $sql;

使用codeigniter活动记录:

$data['username'] = $dataArray['username'];

if(!empty($dataArray['password'])) {
    $data['password'] = $dataArray['password'];
}

$this->db->where('id', $dataArray['id']);
$this->db->update('my_tbl',$data); 

使用codeigniter活动记录:

$data['username'] = $dataArray['username'];

if(!empty($dataArray['password'])) {
    $data['password'] = $dataArray['password'];
}

$this->db->where('id', $dataArray['id']);
$this->db->update('my_tbl',$data); 

password=coalescepasswordparam,passwordIF应为IIF?@RST请不要假设password=coalescepasswordparam,passwordIF应为IIF?@RST请不要假设您为什么重复回答?抱歉,相同的代码,但在连接之前多次修改而不使用逗号可能会出错..为什么重复回答?抱歉,相同的代码,但在没有逗号的情况下进行了多次修改,在连接之前可能会出现错误。。