Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql更新不';t更新数据_Php_Mysql_Mysqli - Fatal编程技术网

Php Mysql更新不';t更新数据

Php Mysql更新不';t更新数据,php,mysql,mysqli,Php,Mysql,Mysqli,当使用我的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_cont

当使用我的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;
它改变了我的数据

如何解决此问题?

您应该更换

$data = json_decode(file_get_contents("php://input"));
$id = mysqli_real_escape_string($con, $data->id);

您通过输入流读取原始请求数据,然后从JSON对其进行解码(尽管您正在读取的流不是JSON格式),然后转义id(当然不在那里)。
您正在查找的id已经被PHP放入$请求超全局中。不需要所有剩余的…

如果调用
var\u dump(json\u decode(file\u get\u contents()php://input);
json解码(文件获取内容(“php://input)
将在正文有效载荷中预期您的数据
{“id”:123}
不在查询字符串中。使用准备好的语句。执行station后是否检查了错误?在哪里执行更新?很抱歉,这是我的错误。错误不在我的php代码中,而是在我的应用程序中(一个调用另一个文件的文件在服务器中调用我的php文件)在执行有效负载时,感谢您@AbhikChakraborty,您帮助我找到了解决方案,它现在可以工作了。:)谢谢..下面是我正在做的,将usersService.updateInviteReject({dataInvite.inviteId})更改为usersService.updateInviteReject({id':dataInvite.inviteId})当我直接从浏览器调用php文件时,它可以工作。谢谢你的评论,但我发现错误不在我的php代码中,是我的另一个页面未能在我的服务器中调用此php文件。我忘记将正确的参数发送到它的。
id = mysqli_real_escape_string($con, $_REQUEST['id']);