表单发送的值不会改变任何东西


form sends values that are not changing anything

我有一个简单的表单:

<form id="change_id" action="change.php?change=profile"
      method="POST" enctype="multipart/form-data">
    <input id="change_username" required name="jmeno_new"
           type="text" placeholder="New Username">
</form>

另外,我通过AJAX请求从我的form元素发送数据,如下所示:

save_button.addEventListener('click', function ()
{
    var fd = new FormData(change_id);
    XXHR().request(change_id.getAttribute("action"), function(r){
        var obj = JSON.parse(r);
        if (obj.type == 'success')
        {}
        else if (obj.type == 'success_un')
        {
            console.log("YEAH! THAT WORKS.");
        }
    }, function(){}, true, fd);
}, false);
我在PHP文件中得到它,像这样:
$new_un = $_POST['jmeno_new'];
$sql_update = ("UPDATE myTable SET `name`='$new_un' WHERE `name`='$name'");
$out = array('type' => 'success_un');
exit(json_encode($out));

因此,如果设置了数据,我只能看到AJAX请求成功,但它不会改变数据库中的任何内容。

它应该做什么?

它应该更新myTable,它应该用通过$_POST获得的新名称替换旧名称。

这行不通。如何?为什么?

如果你使用mysqli:

那是因为你没有执行查询。尝试替换这一行

$sql_update = ("UPDATE myTable SET `name`='$new_un' WHERE `name`='$name'");

$your_connection_variable->query("UPDATE myTable SET `name`='$new_un' WHERE `name`='$name'");

希望这有效!:)