PHP SQL不更新数据库中的行

I'm currently making a simple script that takes a user input named comments and putting it in a database. Every time I use the same email, I want it to overwrite their last entry. However, it keeps putting a new entry every time. Here is my code:

if($comments){
    try{
        echo "<img width=\"245\" height=\"130\" src=\"logo.png\"/><br/>";
        echo "<h1>Thank you. You should receive your order on xx-xx-xx</h1>";
        $TF = "TRUE";
        if($numrows == 0){
            $postquery = "INSERT INTO TTT25 (email,card,changes,comments) VALUES ('$email','$businesscard','$TF','$comments')";
            $querythepost = sqlsrv_query($conn, $postquery);
        }
        else{
            $postquery = "UPDATE TTT25 SET changes = '$TF', comments = '$comments' WHERE email = '$email'";
            $querythepost = sqlsrv_query($conn, $postquery);
        }

    }
    catch(Exception $e){}
}

elseif($optout=="false"){
    echo "<img width=\"245\" height=\"130\" src=\"logo.png\"/><br/>";
    echo "<h1>Thank you. You should receive your order on xx-xx-xx</h1>";
    $TF = "FALSE";
    $comments = "";
    if($numrows == 0){
    $postquery = "INSERT INTO TTT25 (email,card,changes,comments) VALUES ('$email','$businesscard','$TF','$comments')";
    $querythepost = sqlsrv_query($conn, $postquery);
    }
    else{
    $postquery = "UPDATE TTT25 SET changes = '$TF', comments = '$comments' WHERE email = '$email'";
    $querythepost = sqlsrv_query($conn, $postquery);
    }
}

Sorry it must have cut off: my num rows and other variables defined before the conditional statements:

$optout = $_GET['opt'];
$encodedemail = $_GET['email'];
$email = base64_decode($encodedemail);
$originalcard = base64_decode($_GET['card']);
$businesscard = $originalcard;
$comments = $_POST['comments'];
//$primary = md5(uniqid(rand (), true)); no longer needed
$postquery;
$TF;
$sqlmatch = sqlsrv_query("SELECT * FROM TTT25 WHERE email = '".$email."'");
$numrows = sqlsrv_num_rows($sqlmatch);
echo $numrows;