我正在使用php在mysql中执行一个简单的删除查询。我不知道这个查询有什么问题:
$delid=$_REQUEST['did'];
if(($del=mysql_query("delete from achieva_trainee_mail_tble where id='".$delid."'"))==true)
{
header("location:viewtrainee.php?dl=1");
}
else
{
echo("<script>alert('Failure please try again later...');</script>");
}
我可以使用'$ _REQUEST ['did']在页面中获取'did'。但它没有重定向到viewtrainee.php页面,它转到了else部分。我为其他文件执行相同的结构,它工作正常。这有什么问题。
答案 0 :(得分:1)
使用 mysql_affected_rows 功能。
$delid=$_REQUEST['did'];
mysql_query("delete from achieva_trainee_mail_tble where id='".$delid."'"));
if(mysql_affected_rows())
{
header("location:viewtrainee.php?dl=1");
}
else
{
echo("<script>alert('Failure please try again later...');</script>");
}
答案 1 :(得分:0)
mysql_query返回结果而不是成功状态...使用mysql_error或mysql_errno这样:
$didName = 'did';
$delId = null;
$failed = true;
if(array_key_exists($didName, $_REQUEST)) {
$delId = $_REQUEST[$didName];
mysql_query("delete from achieva_trainee_mail_tble where id='".mysql_real_escape_string($delId, $yourConnection)."'", $yourConnection);
if(false == mysql_errno($yourConnection)) {
$failed = true;
}
}
if(false == $failed) {
header("location:viewtrainee.php?dl=1");
}
else {
echo("<script>alert('Failure please try again later...');</script>");
}