我在php里有一个数组,经过处理后都成了$key = $value,$key = $value……的形式,用于Update之后set的部分,但是这些数组里有些key不在要update的表里,于是便会报错,如何让mysql忽略这个报错并只更新那些在表里的key?
你应该加个字段过滤,把表里面的字段拿出来对比,存在的在更新,不存在的unset,不这样做你这是sql语法错误忽略不了
不应该会报错呀,不在就不更新嘛
我自己写了一个,也没问题呀
functionletsRock(){$pdo=getPDO();$upt_pairs=array('user_123'=>'pwd_123','user_1234'=>'pwd_1234','user_12345'=>'pwd_12345',//不存在'user_456'=>'pwd_456','user_4567'=>'pwd_4567',//不存在'user_789'=>'pwd_789','user_7890'=>'pwd_7890',//不存在'user_999'=>'pwd_999');if($pdo){foreach($upt_pairsas$k=>$v){$sql='UPDATE`Demo`SET`pwd_plain`=?WHERE`user_name`=?';$stmt=$pdo->prepare($sql);$flag=$stmt->execute(array($v,$k));echo"Action'".$k."'Result:".print_r($flag,true)."\n";}}}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。