Php 无法捕获if子句中的错误(使用应答更新)
在下面的代码中,$alb->error包含一条错误消息。我可以用echo来验证,没问题 当我想在if子句中捕捉该错误时,问题就出现了。首先,守则:Php 无法捕获if子句中的错误(使用应答更新),php,Php,在下面的代码中,$alb->error包含一条错误消息。我可以用echo来验证,没问题 当我想在if子句中捕捉该错误时,问题就出现了。首先,守则: if($action == "add") { //PUT CODE TO SAVE A NEW ALBUM HERE //SHOULD RETURN ALBUM ID $alb = new album(); //fill object album with propert
if($action == "add")
{
//PUT CODE TO SAVE A NEW ALBUM HERE
//SHOULD RETURN ALBUM ID
$alb = new album();
//fill object album with properties to be saved
$alb->date = checkNull($_POST['alb_date']);
$alb->name = checkNull($_POST['alb_name']);
$alb->desc = checkNull($_POST['alb_desc']);
$alb->cat_id = $_POST['categories'];
//call save method of album
$alb->create_album();
//catch error
if($alb->error <> "")
{
header("Location: add_album.php?error='$alb->error'");
}
//set album id to pass it along to add_pictures
$alb_id = $alb->id;
}
elseif($action == "edit")
{
//PUT CODE TO SAVE EDITED ALBUM HERE
//SHOULD RETURN ALBUM ID
}
header("Location: add_pictures.html?alb_id='$alb_id'");
没用
//catch error
if(!is_null($alb->error))
{
header("Location: add_album.php?error='$alb->error'");
}
没有雪茄
//catch error
if($alb->error <> "")
{
header("Location: add_album.php?error='$alb->error'");
}
//捕获错误
如果($alb->错误“”)
{
标题(“位置:add_album.php?error='$alb->error'”;
}
然而,零快乐
if子句从未得到处理。我错过了什么
谢谢您的时间。所以问题是,对于操作类型:if action=add或edit,我的外部if子句后面有一个标题重定向。当我将它包装在else子句中时,它起了作用:
}
elseif($action == "edit")
{
//PUT CODE TO SAVE EDITED ALBUM HERE
//SHOULD RETURN ALBUM ID
}
else
{
header("Location: add_pictures.html?alb_id='$alb_id'");
}
谢谢你的帮助 所有这些都应该有效。您确定正在执行
if
吗?不是,这是问题所在。如果我回显$alb->error-我会得到关于表上contstraint的sql错误。所以这个属性被填满了。但是if子句永远不会被触发当问题出现在你把if
放在哪里的时候,因为它永远不会被触发。我编辑了我的初始代码块,以显示我在创建相册后立即调用if子句。如果我用$alb->error的回显替换if语句,我的错误就会显示在屏幕上。。。
}
elseif($action == "edit")
{
//PUT CODE TO SAVE EDITED ALBUM HERE
//SHOULD RETURN ALBUM ID
}
else
{
header("Location: add_pictures.html?alb_id='$alb_id'");
}