我很遗憾在这里问它,但我已经尽力解决了我的问题。问题是我将 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我的母语,因此很难描述我的问题。