Javascript mssql中数据删除成功与否后如何显示报警框
我想在MSSQL中成功或未成功删除数据后显示JavaScript警报。如何做到这一点?我已经编写了这段代码,但每次它都只显示Javascript mssql中数据删除成功与否后如何显示报警框,javascript,php,sql,sql-server,Javascript,Php,Sql,Sql Server,我想在MSSQL中成功或未成功删除数据后显示JavaScript警报。如何做到这一点?我已经编写了这段代码,但每次它都只显示message=success部分警报,即使删除操作因“与引用冲突(外键)”等错误而无效,因此当我单击此链接时 echo "<a class='activater' href='ma_QualiOverviewloeschen.php?TestaufstellungID=".$row['TestaufstellungID'] ."&QualiID=".$r
message=success
部分警报,即使删除操作因“与引用冲突(外键)”等错误而无效,因此当我单击此链接时
echo "<a class='activater' href='ma_QualiOverviewloeschen.php?TestaufstellungID=".$row['TestaufstellungID'] ."&QualiID=".$row['QualiID'] ."' title='Qualitest löschen' data-toggle='tooltip' onclick='confirm_delete()'> <span class='glyphicon glyphicon-trash'></span></a>";
返回单击链接的主页,下面的ifelse
考虑消息应向我显示正确的警报
<?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;
我怀疑你的质疑是否有效。一旦concat,give字符串将提供语法错误。
$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;