在成功或不成功删除MSSQL之后,如何显示警报框



我想在MSSQL中成功或未成功删除数据后显示JavaScript警报。这个怎么做?我已经编写了此代码,但它每次都仅显示message=success零件警报,即使删除不起作用,因为"与参考冲突(foruestry_key("这样的错误,所以当我单击此链接时。

 echo "<a class='activater'  href='ma_QualiOverviewloeschen.php?TestaufstellungID=".$row['TestaufstellungID'] ."&QualiID=".$row['QualiID'] ."' title='Qualitest l&ouml;schen' data-toggle='tooltip' onclick='confirm_delete()'>   <span class='glyphicon glyphicon-trash'></span></a>"; 

它调用以下PHP页面,该页面处理SQL部分:

$QualiDelete =("DELETE FROM MyDB.dbo.Testaufstellung WHERE MyDB.dbo.Testaufstellung.TestaufstellungID = :TestaufstellungID");
$QualiDelete .=("DELETE FROM MyDB.dbo.AllgemeineAngaben WHERE MyDB.dbo.AllgemeineAngaben.QualiID = :QualiID");
$sth = $connection->prepare($QualiDelete);
$sth->execute(array(':TestaufstellungID' => $TestaufstellungID, ':QualiID:' => $QualiID));
                if($sth)
                {
                    header("location: ma_QualiOverview.php?message=success");   
                }
                else
                {
                    echo sqlsrv_errors();
                    header("location: ma_QualiOverview.php?message=failed");    
                }
                $connection = null;

回到单击链接的主页,以下ifelsemessage上考虑应向我显示正确的警报。

<?php
if($_GET['message']=='success'){
    echo '<script language="javascript">';
    echo 'alert("Erfolgreich gelöscht.");';
    echo '</script>';
} elseif($_GET['message']=='failed'){
    echo '<script language="javascript">';
    echo 'alert("Nicht gelöscht, da Quali "ongoing" ist.");';
    echo '</script>';
}
?>

我想念什么?

$sth永远不会是 falsy,您必须检查 $sth->execute的返回值另外,发送标头后,您应该回应错误。

由于始终定义了$sth,因此您始终获得成功结果请参阅此处的修改代码

$QualiDelete =("DELETE FROM MyDB.dbo.Testaufstellung WHERE MyDB.dbo.Testaufstellung.TestaufstellungID = :TestaufstellungID");
$QualiDelete .=("DELETE FROM MyDB.dbo.AllgemeineAngaben WHERE MyDB.dbo.AllgemeineAngaben.QualiID = :QualiID");
$sth = $connection->prepare($QualiDelete);//Check the value returned instead of $sth
$result = $sth->execute(array(':TestaufstellungID' => $TestaufstellungID, ':QualiID:' => $QualiID));
                if($result )
                {
                    header("location: ma_QualiOverview.php?message=success");   
                }
                else
                {
                    header("location: ma_QualiOverview.php?message=failed");  
                    echo sqlsrv_errors();//Echo must be after header
                }
                $connection = null;

相关内容

  • 没有找到相关文章

最新更新