如何执行MySql查询?

时间:2012-03-28 07:53:44

标签: php mysql

我正在使用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部分。我为其他文件执行相同的结构,它工作正常。这有什么问题。

2 个答案:

答案 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>");
}