我有一个简单的表单:
<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'");
希望这有效!:)