未定义的stdClass属性

时间:2017-10-26 10:23:52

标签: php

我是新手,我遇到了这个错误

  

未定义的属性:stdClass :: $ id in   第6行的C:\ xampp \ htdocs \ thesisApp \ db \ login.php


这是代码

<?php 
$con = new mysqli("localhost", "root", "root", "thesisAppdb");
$data = json_decode(file_get_contents("php://input"));
$id = mysqli_real_escape_string($con, $data->id);
$username = mysqli_real_escape_string($con, $data->username);
$password = mysqli_real_escape_string($con, $data->password);

 $query = ("SELECT id FROM teacherdata WHERE username= '$username' and 
 password= '$password' and id = '$id'");
 $que = mysqli_query($con, $query);
 $count = mysqli_num_rows($que);

 if ($count == 1) {
 echo 'correct';

} else {
echo 'wrong';
}
?>

希望听到任何人的消息。

1 个答案:

答案 0 :(得分:2)

正如您从var_dump的输出中看到的那样,file_get_contents("php://input")包含空json object。解码时提供空PHP object。因此,您需要确保id中的json object键,并且在PHP端您可以使用以下内容:

$data = json_decode(file_get_contents("php://input"));
$id = 0;
if(isset($data->id))
{
    $id = mysqli_real_escape_string($con, $data->id);
}