数据与结果不符

时间:2014-09-13 17:25:23

标签: php mysql ajax

我很遗憾在这里问它,但我已经尽力解决了我的问题。问题是我将 delete_id 通过 AJAX 提供给我的 PHP脚本。在 PHP脚本中,我控制 delete_id 是否存在。

现在奇怪的是,我提醒 delete_id,它说 75 。 75存在(我在PHPmyAdmin中手动打印了查询并且在那里工作了)但它不会按计划删除它。

我的AJAX部分:

$('.btn.btn-xs.btn-danger').click(function(){
    var delete_id = $(this).attr('id');
    var delete_id_url = 'action=deleting&id='+delete_id;

        $.ajax({
            type: "POST",
            url:  "/panel/includes/handlers/404.handler.php",
            data: delete_id_url,
            success: function responseText(response)
                {
                  $.parseJSON(response);

                    if(response.indexOf(1) > -1)
                    {
                        alert('Er is helaas geen overeenkomst in onze database gekomen.');
                        alert(delete_id);
                    }
                    else if(response.indexOf(2) > -1)
                    {
                        alert('Het opgegeven ID nummer is helaas geen geldig getal.');
                    }
                    else if(response.IndexOf(100) > -1)
                    {
                        alert('De opgegeven rij is verwijderd.');
                        $(delete_id).hide();
                    }
                    else
                    {
                        alert('or nah');
                    }
                }
    });
});

我的PHP部分:

if(isset($_POST['action']) && $_POST['action'] == 'deleting')
    {
        $intDelete = trim($_POST['id']);
        $errors    = array();

            $stmt = $mysqli->prepare("SELECT id FROM error WHERE id = ?");
            $stmt->bind_param('i', $intDelete);
            $stmt->execute();
            $intSelect = $stmt->num_rows();
            $stmt->close();

                // Controle part.
                if($intSelect == 0)
                {
                    $errors[] = 1;
                    $bolean   = true;
                }
                if(!ctype_digit($intDelete))
                {
                    $errors[] = 2;
                    $bolean   = true;
                }

                    if($bolean == false)
                    {
                        $errors[] = 100;

                            $stmt = $mysqli->prepare("DELETE FROM error WHERE id = ?");
                            $stmt->bind_param('i', $intDelete);
                            $stmt->execute();
                            $stmt->close();
                    }
                header('Content-Type: application/json');
                echo json_encode($errors);
    }

所以我从PHP部分得到的结果是$ errors [] ='1';。感谢您提前帮助!英语不是BTW我的母语,因此很难描述我的问题。

0 个答案:

没有答案