<script>
function enter_edit(column)
{
var username = '<?php echo $username ;?>';
var password = '<?php echo $password ;?>';
var input = prompt("Please enter a new " + column , "");
//window.alert(input);
//window.alert(column);
//window.alert(username);
//window.alert(password);
$.ajax({
type: "POST",
url: "edit_account.php",
data: { input:input , username:username , password:password, column:column }
});
window.alert("Account has been edited");
window.location = 'manage_account.php';
}
</script>
我有这个功能,它接受之前已经查询过的帐户的用户名和密码,获取用户希望将所选列更改为的内容等等。我将这些变量发送到 edit_account.php 以执行 UPDATE 查询。据我所知,当我对所有 4 个变量执行 window.alert() 时,所有变量都是正确的。
<?php
require ('connect.php');
$input = $_POST['input'];
$username = $_POST['username'];
$password = $_POST['password'];
$column = $_POST['column'];
$link = my_connect();
$editAccount = $link->query("update AdvancedUser set '".$column."' = '".$input."' where UserName = '".$username."' and UserPassword = '".$password."'");
//$deleteAccount = $link->query("delete from AdvancedUser where UserName = '".$username."' AND UserPassword = '".$password."'");
$editAccount->close();
$link->close();
?>
这是 edit_account.php,我在其中尝试使用 mysql 更新来进行更改,但是使用此代码它没有任何更改。当我尝试放入删除查询时(只是为了测试我的连接是否不起作用)它工作得很好。有任何想法吗?再次感谢
最佳答案
改变:
$editAccount = $link->query("update AdvancedUser set '".$column."' = '".$input."' where UserName = '".$username."' and UserPassword = '".$password."'");
到:
$editAccount = $link->query("update AdvancedUser set $column = '".$input."' where UserName = '".$username."' and UserPassword = '".$password."'");
^_______^--without quotes
关于javascript - 为什么我的MYSQL UPDATE语句不会更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164996/