我正在编写一些项目,然后我就部分代码遇到了一些问题。我碰到了头,然后我发现了问题所在。这里有两个版本的代码,第一个是作品,第二个不是。代码的第二部分只是激活else块,它基本上跳过 if 代码块然后转到else块然后激活die函数。有人可以解释我做错了什么和哪里? 非常感谢!
// This version of code works!
// Check for errors
if(!empty($data['error_blog_title']) && !empty($data['error_blog_body'])){
// There are errors
$this->loadView('blog/edit', $data);
} else{
// No errors, update post
$this->blogModel->updatePost($data);
redirect('/blog/index');
}
VS
// This one doesnt
// Check for errors
if(!empty($data['error_blog_title']) && !empty($data['error_blog_body'])){
// There are errors
$this->loadView('blog/edit', $data);
} else{
if($this->blogModel->updatePost($data)){
// Updated succesfully
redirect('blog/index');
} else{
// Update failed
die('Something went wrong!');
}
}
答案 0 :(得分:1)
我找到了解决方案。在我的updatePost()方法中,我改变了一些东西,
我检查了execute(),如果它正常,则返回TRUE,否则为FALSE
if($stmt->execute()){
$stmt->close();
return TRUE;
} else{
$stmt->close();
return FALSE;
通过放置这些代码行,我实现了一切。
BTW我把这些代码行放在我的其他项目中但是在这里我没有(我忘了)。
谢谢各位帮助我的人。 :)