未定义 属性:C:\wamp64\www\try\insert.php 中的 stdClass::$ecompany 第 7 行

Undefined property: stdClass::$ecompany in C:\wamp64\www\try\insert.php on line 7

<?php 
$conn = mysqli_connect("localhost", "root", "", "mydb"); // Database Connection 
$data = json_decode(file_get_contents("php://input"));// Decoding data
echo '<pre>'; //Printing Array
print_r($data); 
echo '</pre>';
//Getting values in variables
$ename = mysqli_real_escape_string($conn,$data->ename);
$eemail = mysqli_real_escape_string($conn, $data->eemail);
$ecompany = mysqli_real_escape_string($conn, $data->ecompany);
$edesignation = mysqli_real_escape_string($conn, $data->edesignation);
// Inserting values into Database
mysqli_query($conn, "INSERT INTO employee('name', 'email', 'companyName','designation') VALUES('".$ename."','".$eemail."','".$ecompany."','".$edesignation."')");
?>    

数组输出为 - stdClass Object([ename] => Rohit [eemail] =>xxxxxxx@gmail.com [ecompanyname] => Seven [edesignation] => Web & Graphic Designer)

请帮帮我,我现在该怎么办? 什么是 stclass ??

非常感谢

您正在尝试获取 "ecompany",但不存在。 $ecompany = mysqli_real_escape_string($conn, $data->ecompany);

在对象中它被称为 "ecompanyname"。

也一样: $ecompany = mysqli_real_escape_string($conn, $data->ecompanyname);

可以在此处找到对 stdClass 的解释 What is stdClass in PHP?

其实答案就在你的问题中。 print_r()语句的输出为:

Array Output is - stdClass Object([ename] => Rohit [eemail] => xxxxx@gmail.com [ecompanyname] => Seven [edesignation] => Web & Graphic Designer)

这意味着您的输出对象具有 ecompanyname 而不是第 7 行中使用的 ecompany$data ->公司

所以请将第 7 行更改为:

$ecompany = mysqli_real_escape_string($conn, $data->ecompanyname);

就这些了!