通过 AJAX 更新数据库表值

通过 AJAX 更新数据库表值

我的 test.php 页面如下:

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<h3>Setting</h3>
<p>Name:<input type="text" id="updatetherone1"/></p>
<p>Email:<input type="text" id="updateotherone2"/></p>
<p>
<input id="updateone" type="button" value="Save"/>
<span id="updateotherotherone"></span>
</p>

<script src="js/jquery.js"></script>
<script src="js/ajax.js"></script> 
</body>
</html>

我的ini.php页面如下:

<?php
session_start();
$_SESSION['state'] ='2';
$conn=new mysqli('localhost','root','','people');

?>

我的test1.php页面如下:

<?php
include 'ini.php';

if (isset($_POST['name'], $POST['email'])){
$name = mysqli_real_escape_string(htmlentities($POST['name']));
$email = mysqli_real_escape_string(htmlentities($POST['email']));

$update = mysqli_query("UPDATE state SET Name='$name', email='$email' WHERE Id=".$_SESSION['state']);

if($update === true){
echo 'Setting have been updated.';
}else if ($update === false){
echo 'There was an error updating your setting.';
}
}
?>

我的ajax.js页面如下:

$('[id=updateone]').click(function(){
var name=$('[id=updateotherone1]').val();
var email=$('[id=updateotherone2]').val();
$('[id=updateotherotherone]').text('Loading...');

$.post('test1.php',{name:name,email:email},function(data){
$('[id=updateotherotherone]').text(data);
});
});

最终代码不起作用,也没有显示任何错误,我怀疑 test1.php 页面有问题,有人可以指导一下:

答案1

请阅读 Big Chris 的评论

您还应该尝试在引号中设置变量 Id='$_SESSION[\'state\']',并且因为您在这个变量中使用了引号,所以您必须使用反斜杠,这样 php 才能正确设置引号而不会中断变量

相关内容