为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 mssql 中成功或不删除数据后显示警报框

如何在 mssql 中成功或不删除数据后显示警报框

PHP
动漫人物 2021-06-29 17:07:22
我想在 MSSQL 中成功或不删除数据后显示 JavaScript 警报。这该怎么做?我已经编写了这段代码,但它message=success每次只显示部分警报,即使由于“与引用冲突(foreign_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>"; 它调用以下处理 SQL 部分的 php 页面:$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;返回单击链接的主页,以下ifelse考虑message应该向我显示正确的警报。<?phpif($_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>';}?>我想念什么?
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

$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;


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信