PHP MYSQL->;如果变量为';t null或空
对不起,我是PHP新手,所以我看起来像个傻瓜 正如标题所述,我采用了以下方法来更新用户数据:PHP MYSQL->;如果变量为';t null或空,php,mysql,Php,Mysql,对不起,我是PHP新手,所以我看起来像个傻瓜 正如标题所述,我采用了以下方法来更新用户数据: function update($userid, $name){ Try{ $stmt=$this->db->prepare("UPDATE users SET name=:name, WHERE userid=:userid
function update($userid, $name){
Try{
$stmt=$this->db->prepare("UPDATE users
SET
name=:name,
WHERE userid=:userid");
$stmt->execute(array(':name'=>$name));
} Catch(PDOException $e){
echo $e->getMessage();
}
}
该代码工作正常,但我想知道是否可能,如果变量来自:
$user->update($userid, $name);
从$name开始,不为null或不为空。如果为null或空,则不应执行MYSQL更新功能。请尝试此操作
函数更新($userid,$name){
试一试{
如果(!empty($name)和!empty($userid)){
$stmt=$this->db->prepare(“更新用户
设置
name=:name
其中userid=:userid“;
$stmt->execute(数组(':name'=>$name',:userid'=>$userid));
}
}
捕获(PDO$e){
echo$e->getMessage();
}
}
解释
SET name=:name,
)。SQL查询中的逗号用于将多个更新彼此分开,以便
更新表集col1=“val1”、col2=“val2”
等等。因为您只更新一列,所以不需要逗号empty
方法检查变量$name
是否已设置且不为false。看李>
名称
!=<代码>名称顺便说一句,后面有一个逗号。“代码工作正常”-我对此深表怀疑。我只是翻译成英文,让你们明白写的是什么,我忘了把nome翻译成name。但它运行良好,翻译可能会引起问题。我知道“nome”是什么意思,但code就是code.btw;我注意到编辑,你仍然有一个逗号,这就是为什么你的代码现在被破坏了。“使用这个”-问题是:“为什么”?如“他们为什么要使用您发布的内容”中所述。如果为null或空,则不应执行MYSQL更新功能。“这是他想要存档的。。。你在哪里读到了为什么?我是说他们的代码出了什么问题,为什么会坏。如果我决定删除上面的评论,你的回答就站不住脚了;正如表达式所示;-)你的解释够了吗@Fred ii当然可以,但是在将其传递到函数之前,他们应该测试它是否为空。这注定要失败。