Php 如何以JSON格式发送请求以发布数据

Php 如何以JSON格式发送请求以发布数据,php,json,Php,Json,我有一个Api端点来处理代码 <?php $name= $_POST['name']; $email = $_POST['email']; $password= $_POST['password']; $gender= $_POST['gender']; $con = mysqli_connect("localhost", "root", "qwerty", "db"); $query= mysqli_query($con, "INSER

我有一个Api端点来处理代码

<?php

    $name= $_POST['name'];
    $email = $_POST['email'];
    $password= $_POST['password'];
    $gender= $_POST['gender'];

    $con = mysqli_connect("localhost", "root", "qwerty", "db");
    $query= mysqli_query($con, "INSERT INTO users(name,email, password, gender) VALUES('$name','$email', '$password', '$gender')");

    if($query){
        echo "You are sucessfully Registered";
    }

    else{
        echo "your details could not be registered";
    }

    mysqli_close($con);

?>

我是php Api开发新手

您必须像这样构建一个数组:

$data = array(
    'name' => $_POST['name'],
    'email' => $_POST['email'],
    'password' => $_POST['password']
);
然后你必须对它进行编码:
$encoded=json\u encode($data)


使用此方法,您可以在post中发送请求

您的代码易受SQL注入攻击,您需要修复此问题。可能会重复将值插入数组并使用json_编码PHPT中的数组。这不是答案,因为没有上下文。OP是否提供了上下文?不是真的。他问我如何获得JSON数组,这就是我的答案。
$data = array(
    'name' => $_POST['name'],
    'email' => $_POST['email'],
    'password' => $_POST['password']
);
$data = array(
    'userID'      => 'a7664093-502e-4d2b-bf30-25a2b26d6021',
    'itemKind'    => 0,
    'value'       => 1,
    'description' => 'Boa saudaÁ„o.',
    'itemID'      => '03e76d0a-8bab-11e0-8250-000c29b481aa'
);

$json = json_encode($data);

$client = new Zend_Http_Client($uri);
$client->setRawData($json, 'application/json')->request('POST');