行已删除,但PHP并未真正从数据库中删除+没有错误消息

时间:2019-05-19 03:43:40

标签: php jquery mysql ajax crud

在您离开之前,我知道这已经被问过了,我只看到4或5个论坛帖子完全指出了这个问题,但是没有一个可以解决我的问题!

我有一个MySQL数据库。我执行GetAll并用数据填充Tabledit。每行都有一个“删除”按钮。我删除一行。行消失,控制台日志中的所有内容均表示成功。在页面上按F5时,将再次显示已删除的行,因为在数据库中并未真正删除该行。因此,问题与PHP有关。

我尝试的主要事情是围绕查询进行更改,因为这是问题所在以及执行方式。 假设我尝试了所有方法,但当我感到烦恼时,我决定停止使用传递的ID,而只是在查询中使用WHERE ID = 5的硬代码,仍然无法正常工作,因此我只是回到了传递的ID既然那不是问题,我真的不知道为什么查询不起作用,但是100%是PHP而不是javascript / html。

既然我的ajax执行良好,我将发布我的php代码,如果您希望我发布任何ajax,请随时向我询问。

我还将指出如何删除我现在不需要的所有内容,例如检查动作是否为删除,所有编辑内容,如果简单删除无法正常工作,为什么还要拥有所有这些内容。

$connect = mysqli_connect(won't post my connection stuff, but I know it works since I use the same connect to perform the GetAll somewhere else, and that works fine);

$input = filter_input_array(INPUT_POST);

$query = "DELETE FROM User WHERE ID = '".$input["ID"]."'";
mysqli_query($connect, $query);

echo json_encode($input);

我曾经有mysqli_close($ con);最后也删除了它,添加它并不能解决问题,我不确定我是否需要

当我删除该行时,它消失了,这是已记录的内容,一切似乎都很好,发送的json看起来不错,所有消息都导致它认为是成功的

onDraw()
zz.php:143 onAjax(action, serialize)
zz.php:144 delete
zz.php:145 ID=5&action=delete
zz.php:124 onSuccess(data, textStatus, jqXHR)
zz.php:125 {ID: "5", action: "delete"}ID: "5"action: "delete"__proto__: Object
zz.php:126 success
zz.php:127 {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}abort: ƒ (a)always: ƒ ()complete: ƒ ()done: ƒ ()error: ƒ ()fail: ƒ ()getAllResponseHeaders: ƒ ()getResponseHeader: ƒ (a)overrideMimeType: ƒ (a)pipe: ƒ ()progress: ƒ ()promise: ƒ (a)readyState: 4responseJSON: {ID: "5", action: "delete"}responseText: "{"ID":"5","action":"delete"}"setRequestHeader: ƒ (a,b)state: ƒ ()status: 200statusCode: ƒ (a)statusText: "OK"success: ƒ ()then: ƒ ()__proto__: Object
zz.php:140 onAlways()

很难读,所以这是屏幕截图http://prntscr.com/nqf5o0

ps:另外我必须指出,我无法添加任何内容来打印错误或任何内容,因为语法不允许我这样做,如果我在php中添加了其他内容,则会将json拧为某些原因会阻止ajax正常运行,所以我真的在这里盲目调试

ps2:如果您可能认为ID应该是ID,我也曾想过,但是我在数据库,HTML和Ajax http://prntscr.com/nqf6v0 http://prntscr.com/nqf6k2中到处都使用ID,所以我很确定那不是

1 个答案:

答案 0 :(得分:0)

立即更新尝试:

$ID = mysqli_real_escape_string($connect, $input["ID"]);
$Username = mysqli_real_escape_string($connect, $input["Username"]);
$Password = mysqli_real_escape_string($connect, $input["Password"]);
$Email = mysqli_real_escape_string($connect, $input["Email"]);
$Nickname = mysqli_real_escape_string($connect, $input["Nickname"]);
$GameMoney = mysqli_real_escape_string($connect, $input["GameMoney"]);
$ProfilePlayer = mysqli_real_escape_string($connect, $input["ProfilePlayer"]);
$ProfileAdmin = mysqli_real_escape_string($connect, $input["ProfileAdmin"]);
$DuelTotal = mysqli_real_escape_string($connect, $input["DuelTotal"]);
$DuelWon = mysqli_real_escape_string($connect, $input["DuelWon"]);
$Banned = mysqli_real_escape_string($connect, $input["Banned"]);

mysqli_query($connect, "UPDATE User SET `Username` =  '{$Username}',  `Password` =  '{Password}',  `Email` =  '{$Email}', `Nickname` =  '{$Nickname}', `GameMoney` =  '{$GameMoney}', `ProfilePlayer` =  '{$ProfilePlayer}', `ProfileAdmin` =  '{$ProfileAdmin}', `DuelTotal` =  '{$DuelTotal}', `DuelWon` =  '{$DuelWon}', `Banned` =  '{$Banned}'  WHERE `ID` = $ID");

我也尝试过

 $query = "
 UPDATE User 
 SET Username = '".$Username."', 
 Password = '".$Password."',
 Email = '".$Email."',
 Nickname = '".$Nickname."',
 GameMoney = '".$GameMoney."',
 ProfilePlayer = '".$ProfilePlayer."',
 ProfileAdmin = '".$ProfileAdmin."',
 DuelTotal = '".$DuelTotal."',
 DuelWon = '".$DuelWon."',
 Banned = '".$Banned."',
 WHERE ID = '".$input["ID"]."'
 ";

 mysqli_query($connect, $query);

发生同样的事情,html和javascript可以正常工作,但是不会更新数据库。我开始认为这与权限相关,但是为什么我不能执行删除或更新查询,但是

$query = "SELECT * FROM User ORDER BY id DESC";
$result = mysqli_query($connect, $query);

工作完美