当我使用PHP文件通过Mysql数据库更新数据时,我遇到了一个奇怪的问题。
下面是我在file.php中的代码:
.....
.....
$con=mysqli_connect("mysite","user","mypass","mydb");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$data = json_decode(file_get_contents("php://input"));
$id = mysqli_real_escape_string($con, $data->id);
$sql = "UPDATE invites SET status='rejected' where id ='$id'";
....
....我在浏览器中调用它,如下所示:
https://mysite/phpfile/file.php?id=224但它不会更新我的数据。如果我直接更改$id,如下所示:
$id = 224;它改变了我的数据。
如何解决这个问题?
发布于 2015-06-09 21:29:36
你应该替换掉
$data = json_decode(file_get_contents("php://input"));
$id = mysqli_real_escape_string($con, $data->id);使用
id = mysqli_real_escape_string($con, $_REQUEST['id']);您通过输入流读取原始请求数据,然后从JSON解码它(尽管您正在读取的流不是JSON格式),然后转义id (当然,id不在那里)。你正在寻找的id已经被PHP放在了$_REQUEST的超级全局中。不需要其他的..。
https://stackoverflow.com/questions/30733241
复制相似问题