Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax删除数据库条目不起作用_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php 使用ajax删除数据库条目不起作用

Php 使用ajax删除数据库条目不起作用,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,用户所处的页面必须确认注销某项活动。 当点击OK时,他的注册条目应该在数据库中被删除,然后他应该被重定向。 以下是按钮处理程序的代码: $("#OK").click(function() { unsubscribeMember(); window.location.href="signup-for-event.php?memId=" + <?php echo $_SESSION['memberId'] ?>; }); 数据层代码如下

用户所处的页面必须确认注销某项活动。 当点击OK时,他的注册条目应该在数据库中被删除,然后他应该被重定向。 以下是按钮处理程序的代码:

$("#OK").click(function()
    {
        unsubscribeMember();
         window.location.href="signup-for-event.php?memId=" + <?php echo $_SESSION['memberId'] ?>;
    });
数据层代码如下所示:

function deleteMemberFromActivity($PDOdbObject, $actId, $memberId)
{
    $deleteSignUpsSQL = "DELETE FROM 'member_activity' WHERE 'activity_id' = ? AND 'member_id' = ?";
    $stmt = $PDOdbObject->prepare($deleteSignUpsSQL);
    $stmt -> execute([$actId, $memberId]);
    $affected_rows = $stmt->rowCount();
    return $affected_rows;
}

但是当用户单击按钮时,重定向可以正常工作,但是数据库中的删除不会发生

您的AJAX调用没有引用
actID
。您传递的唯一内容是
fct=deleteMemberFromActivity
。您的服务器不知道您要删除哪个用户


此外,您应该发布这些值。任何用户都可以看到您正在使用的结构,并在URL中交换数据以将数据发送到您的服务器。

在使用jQuery发送的数据中,您使用“memId”,在PHP脚本中,您使用$\u GET['memberId']可能存在重复。。另外,我建议在发送数据时使用POST而不是GET。@ARN刚刚将memberId更正为memId,仍然相同。数据项不会在中被删除database@IvanGajic不,不,不,再重复一遍,不。永远不要做
async:false
@AlleV。我会再说一遍,为了对一切神圣(或邪恶)的爱,请不要做
async:false
。这将导致负面的用户体验,一些浏览器已经开始禁止这种可怕的编程漏洞。
if ($_GET['fct'] == 'deleteMemberFromActivity')
{
    $result = deleteMemberFromActivity($connectionObject, $_GET['actID'], $_GET['memId']);
    echo $result;
}
function deleteMemberFromActivity($PDOdbObject, $actId, $memberId)
{
    $deleteSignUpsSQL = "DELETE FROM 'member_activity' WHERE 'activity_id' = ? AND 'member_id' = ?";
    $stmt = $PDOdbObject->prepare($deleteSignUpsSQL);
    $stmt -> execute([$actId, $memberId]);
    $affected_rows = $stmt->rowCount();
    return $affected_rows;
}