我正在尝试使用curl将以下数据添加到我的数据库中。它插入的是数据,但插入的数据为空
员工姓名=测试
员工工资= 100
员工年龄= 28
这是我插入数据的代码:
// set post fields
$data["employee_name"] = "test";
$data["employee_salary"] = 1;
$data["employee_age"] = 1;
$ch = curl_init('http://localhost/cloud/v1/employees');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// execute!
$response = curl_exec($ch);
// close the connection, release resources used
curl_close($ch);
// do anything you want with your response
var_dump($response);
这是我获取数据的功能:
function insert_employee()
{
global $connection;
$data = json_decode(file_get_contents('php://input'), true);
$employee_name=$data["employee_name"];
$employee_salary=$data["employee_salary"];
$employee_age=$data["employee_age"];
echo $query="INSERT INTO employee SET employee_name='".$employee_name."', employee_salary='".$employee_salary."', employee_age='".$employee_age."'";
if(mysqli_query($connection, $query))
{
$response=array(
'status' => 1,
'status_message' =>'Employee Added Successfully.'
);
}
else
{
$response=array(
'status' => 0,
'status_message' =>'Employee Addition Failed.'
);
}
header('Content-Type: application/json');
echo json_encode($response);
}
谢谢
答案 0 :(得分:0)
替换此行:
$data = json_decode(file_get_contents('php://input'), true);
具有:
$data = $_POST;
PHP将获取您发布的数据,并将其直接推送到全局$_POST
数组中。无需玩json_decode
(除非您已发布JSON字符串)或php://input
。
但是请注意,盲目地信任发布的数据并将发布的变量连接到SQL语句中是一个巨大的安全漏洞!请查看准备好的语句并进行输入验证。